From 92e22e5be82f4a349a290f81ecc4450bfe1034cf Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Wed, 27 Feb 2019 13:16:36 -0600 Subject: [PATCH] spacchetti update 0210 -> 0226 --- purs/packages.dhall | 4 ++-- static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 73711 -> 73690 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 233156 -> 233049 bytes 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/purs/packages.dhall b/purs/packages.dhall index 5dae8eb..4cbadc5 100644 --- a/purs/packages.dhall +++ b/purs/packages.dhall @@ -1,8 +1,8 @@ let mkPackage = - https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.2-20190210/src/mkPackage.dhall sha256:0b197efa1d397ace6eb46b243ff2d73a3da5638d8d0ac8473e8e4a8fc528cf57 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/mkPackage.dhall sha256:0b197efa1d397ace6eb46b243ff2d73a3da5638d8d0ac8473e8e4a8fc528cf57 let upstream = - https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.2-20190210/src/packages.dhall sha256:1bee3f7608ca0f87a88b4b8807cb6722ab9ce3386b68325fbfa71d7211c1cf51 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/packages.dhall sha256:832321319d21051fe1c0ff21bcee77af1f86bf7700d2041e1e1c1ac6b1dc4ea1 let overrides = {=} diff --git a/static/js/app.min.js b/static/js/app.min.js index 40e0057..9dc3f98 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(function(n){return function(n){return!0}}),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqInt=i,n.eqChar=l,n.eqString=u,n.eqUnit=o,n.eqVoid=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(n){return function(e){return function(t){if(t instanceof i)return n;if(t instanceof l)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},f=c(!0)(o.const(!1)),s=c(!1)(o.const(!0)),d=new u.Functor(function(n){return function(e){return e instanceof l?new l(n(e.value0)):i.value}}),v=new e.Apply(function(){return d},function(n){return function(e){if(n instanceof l)return u.map(d)(n.value0)(e);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),p=new r.Bind(function(){return v},function(n){return function(e){if(n instanceof l)return e(n.value0);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=i,n.Just=l,n.maybe=c,n.fromMaybe=function(n){return c(n)(a.identity(a.categoryFn))},n.isJust=s,n.isNothing=f,n.fromJust=function(n){return function(n){if(n instanceof l)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=d,n.applyMaybe=v,n.bindMaybe=p}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=J._3(V)));break;case m:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(w))(J._2),y=null;break;case g:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=J._1;break;case D:R--,b=_,w=J._1,y=J._2}break;case I:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,M(B[Q].handler(w)));return B=null,void(U&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function V(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:U=n.left(e),b=I,w=U,j(d);break;case L:null===U&&(U=n.left(e)),0===R&&(b===L&&(W=new h(v,new h(g,w(e)),W,U)),b=_,w=null,y=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return b===T&&j(d),e}},onComplete:V,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?j(d):A.enqueue(function(){j(d)}))}}}function U(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),M=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=M,n.drop=function(n){return function(e){return c.drop(c.length(M(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Lens"],t["Data.Lens.Getter"]),c=t["Data.Lens.Internal.Forget"],f=t["Data.Lens.Lens"],s=t["Data.Lens.Setter"],d=t["Data.Maybe"],v=t["Data.Profunctor.Strong"],p=t["Data.Unit"],m=(t["Effect.Aff"],t["Effect.Aff.Class"]),g=t.Globals,D=(t.Halogen,t["Halogen.Component"]),b=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),h=t["Halogen.HTML.Elements"],w=t["Halogen.HTML.Events"],y=t["Halogen.HTML.Properties"],M=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),C=(t["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),H=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=S,n.UEditField=F,n.USubmit=H,n.EarchiveDefault=C,n.EprivateDefault=A,n.EprivacyLock=T,n.usetting=function(n){var t;g["app'"](p.unit);return D.component(b.bifunctorHTML)({initialState:u.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return w.input(F.create)(n(e))}};return h.div([E.class_("settings-form")])([h.div([E.class_("fw7 mb2")])([b.text("Account Settings")]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),w.onChecked(e(C.create))]),h.label([y.for("archiveDefault"),E.class_("lh-copy")])([b.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([y.for("privateDefault"),E.class_("lh-copy")])([b.text("Default new bookmarks to Private")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),w.onChecked(e(T.create))]),h.label([y.for("privacyLock"),E.class_("lh-copy")])([b.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof F)return a.discard(a.discardUnit)(M.bindHalogenM)(s.modifying(M.monadStateHalogenM)(S(v.strongFn))(function(){if(n.value0 instanceof C)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof T)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): "+[n.value0.constructor.name])}()))(function(){return r.pure(M.applicativeHalogenM)(n.value1)});if(n instanceof H)return a.bind(M.bindHalogenM)(l.use(M.monadStateHalogenM)(S(c.strongForget)))(function(t){return a.discard(a.discardUnit)(M.bindHalogenM)(i.void(M.functorHalogenM)(m.liftAff(M.monadAffHalogenM(m.monadAffAff))(e.editAccountSettings(t))))(function(){return r.pure(M.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:u.const(d.Nothing.value)})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=(t["Data.Ord"],t["Data.Profunctor.Strong"]),D=t["Data.Semigroup"],b=(t["Data.String"],t["Data.String.Common"]),h=(t["Data.String.Pattern"],t["Data.Tuple"]),w=t["Data.Unit"],y=t["Effect.Aff"],M=t["Effect.Aff.Class"],E=t["Effect.Class"],C=t.Globals,A=(t.Halogen,t["Halogen.Component"]),T=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),F=t["Halogen.HTML.Elements"],H=t["Halogen.HTML.Events"],S=t["Halogen.HTML.Properties"],L=t["Halogen.Query.HalogenM"],_=(t.Model,t.Prelude,t.Util),I=t["Web.Event.Event"],P=t["Web.HTML"],U=t["Web.HTML.Location"],x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},Q=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=B,n.BEditSubmit=q,n.BDeleteAsk=j,n.BDestroy=V,n.Eurl=x,n.Etitle=O,n.Edescription=k,n.Etags=W,n.Eprivate=R,n.Etoread=N,n._bm=Q,n._edit_bm=J,n.addbmark=function(n){var t;C["app'"](w.unit);return A.component(T.bifunctorHTML)({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return H.input(B.create)(n(e))}},r=F.div([_.class_("alert")])([T.text("previously saved "),F.span([_.class_("link f7 dib gray pr3"),S.title(p.maybe(n.bm.time)(h.snd)(e))])([T.text(p.maybe(" ")(h.fst)(e))]),F.div([_.class_("edit_links dib ml1")])([F.div([_.class_("delete_link di")])([F.button(D.append(D.semigroupArray)([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!0))),_.class_("delete")])(m.guard(m.monoidArray)(n.deleteAsk)([_.attr("hidden")("hidden")])))([T.text("delete")]),F.span(D.append(D.semigroupArray)([_.class_("confirm red")])(m.guard(m.monoidArray)(!n.deleteAsk)([_.attr("hidden")("hidden")])))([F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!1)))])([T.text("cancel / ")]),F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(V.create)),_.class_("red")])([T.text("destroy")])])])])]),a=F.form([H.onSubmit(H.input(q.create))])([F.table([_.class_("w-100")])([F.tbody_([F.tr_([F.td([_.class_("w1")])([]),F.td_(m.guard(m.monoidArray)(n.bm.bid>0)([r]))]),F.tr_([F.td_([F.label([S.for("url")])([T.text("URL")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputUrl.value),S.id_("url"),_.class_("w-100 mv1"),S.required(!0),S.name("url"),S.autofocus(b.null(n.bm.url)),S.value(n.edit_bm.url),H.onValueChange(t(x.create))])])]),F.tr_([F.td_([F.label([S.for("title")])([T.text("title")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("title"),_.class_("w-100 mv1"),S.name("title"),S.value(n.edit_bm.title),H.onValueChange(t(O.create))])])]),F.tr_([F.td_([F.label([S.for("description")])([T.text("description")])]),F.td_([F.textarea([_.class_("w-100 mt1 mid-gray"),S.id_("description"),S.name("description"),S.rows(4),S.value(n.edit_bm.description),H.onValueChange(t(k.create))])])]),F.tr_([F.td_([F.label([S.for("tags")])([T.text("tags")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("tags"),_.class_("w-100 mv1"),S.name("tags"),S.autocomplete(!1),_.attr("autocapitalize")("off"),S.autofocus(!b.null(n.bm.url)),S.value(n.edit_bm.tags),H.onValueChange(t(W.create))])])]),F.tr_([F.td_([F.label([S.for("private")])([T.text("private")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("private"),_.class_("private pointer"),S.name("private"),S.checked(n.edit_bm.private),H.onChecked(t(R.create))])])]),F.tr_([F.td_([F.label([S.for("toread")])([T.text("read later")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("toread"),_.class_("toread pointer"),S.name("toread"),S.checked(n.edit_bm.toread),H.onChecked(t(N.create))])])]),F.tr_([F.td_([]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputSubmit.value),_.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),S.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),o=F.p([_.class_("red")])([T.text("you killed this bookmark")]);return F.div_([n.destroyed?o:a])},eval:function(n){if(n instanceof j)return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof V)return a.bind(L.bindHalogenM)(o.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.destroy(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return r.pure(L.applicativeHalogenM)(n.value0)})})});if(n instanceof B)return a.discard(a.discardUnit)(L.bindHalogenM)(v.modifying(L.monadStateHalogenM)(J(g.strongFn))(function(){if(n.value0 instanceof x)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof k)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof q)return a.discard(a.discardUnit)(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(I.preventDefault(n.value0)))(function(){return a.bind(L.bindHalogenM)(f.use(L.monadStateHalogenM)(J(s.strongForget)))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(v.assign(L.monadStateHalogenM)(Q(g.strongFn))(t))(function(){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._loc))(function(e){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(P.window))(function(t){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._curQuerystring))(function(o){return a.discard(a.discardUnit)(L.bindHalogenM)((u=_._lookupQueryStringValue(o)("next"))instanceof p.Just?E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(U.setHref(u.value0)(e)):E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(C.closeWindow(t)))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});var u})})})})})})});throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): "+[n.constructor.name])},receiver:l.const(p.Nothing.value)})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=t["Data.Array"],c=(t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Profunctor.Strong"],w=t["Data.Semigroup"],y=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],C=(t["Data.String.Pattern"],t["Data.Tuple"]),A=t["Data.Unit"],T=t["Effect.Aff"],F=t["Effect.Aff.Class"],H=t["Effect.Class"],S=t.Globals,L=(t.Halogen,t["Halogen.Component"]),_=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),I=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],U=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],O=(t.Model,t.Prelude,t.Util),k=t["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},$=function(n){return p.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},nn=function(n){return p.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=V,n.BDeleteAsk=J,n.BDestroy=Q,n.BEdit=G,n.BEditField=z,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=W,n.Etitle=R,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=j,n.BNotifyRemove=Y,n._bm=nn,n._edit_bm=Z,n._edit=$,n.bmark=function(n){var t,p=S["app'"](A.unit);return L.component(_.bifunctorHTML)({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([I.button([O.class_("moon-gray"),P.onClick(P.input_(V.create(!n.bm.selected)))])([_.text("✭")])])]),a=S.mmoment8601(n.bm.time),o=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("edit_links di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(G.create(!0))),O.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([O.class_("delete_link di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!0))),O.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([O.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!1)))])([_.text("cancel / ")]),I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(Q.create)),O.class_("red")])([_.text("destroy")])])])]),I.div([O.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([_.text("  "),I.button([P.onClick(P.input_(X.create)),O.class_("mark_read")])([_.text("mark as read")])]))]),f=function(n){return O.fromNullableStr(p.userR)+"/t:"+n},d=function(n){return function(e){return P.input(z.create)(n(e))}},v=[I.div([O.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([P.onSubmit(P.input(K.create))])([I.div_([_.text("url")]),I.input([U.type_(_.inputTypeIsProp)(i.InputUrl.value),O.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),P.onValueChange(d(W.create))]),I.br_,I.div_([_.text("title")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),P.onValueChange(d(R.create))]),I.br_,I.div_([_.text("description")]),I.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),P.onValueChange(d(N.create))]),I.br_,I.div([U.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),O.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),P.onValueChange(d(B.create))]),I.br_]),I.div([O.class_("edit_form_checkboxes mv3")])([I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),P.onChecked(d(q.create))]),_.text(" "),I.label([U.for("edit_private"),O.class_("mr2")])([_.text("private")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),P.onChecked(d(j.create))]),_.text(" "),I.label([U.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([U.type_(_.inputTypeIsProp)(i.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),P.onClick(P.input_(G.create(!1)))])])])],m=[I.div([O.class_("display")])(w.append(w.semigroupArray)([I.a([U.href(n.bm.url),U.target("_blank"),O.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([_.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([U.href(n.bm.url),O.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),O.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([O.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[I.br_,_.text(n)]})(E.split("\n")(t))))),I.div([O.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!E.null(n.bm.tags))(s.map(s.functorArray))(function(n){return I.a([O.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),U.href(f(n))])([_.text(n)])})(E.split(" ")(n.bm.tags))),I.a([O.class_("link f7 dib gray w4"),U.title(g.maybe(n.bm.time)(C.snd)(a)),U.href((e=n.bm.slug,O.fromNullableStr(p.userR)+"/b:"+e))])([_.text(g.maybe(" ")(C.fst)(a))])])(o))];return I.div([U.id_(y.show(y.showInt)(n.bm.bid)),O.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(w.append(w.semigroupArray)(r)(n.edit?v:m))},eval:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})});if(n instanceof J)return a.discard(a.discardUnit)(x.bindHalogenM)(o.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof Q)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.destroy(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(x.raise(Y.value))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof X)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.markRead(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof G)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(Z(h.strongFn))(e))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(n.value0))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(){if(n.value0 instanceof W)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(x.bindHalogenM)(H.liftEffect(x.monadEffectHalogenM(T.monadEffectAff))(k.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(Z(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(nn(h.strongFn))(t))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(!1))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:f.const(g.Nothing.value)})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Array"],i=(t["Data.Eq"],t["Data.Function"]),l=t["Data.Functor"],c=t["Data.Maybe"],f=t["Data.Ord"],s=t["Data.Unit"],d=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),v=t["Halogen.HTML"],p=t["Halogen.HTML.Elements"],m=t["Halogen.HTML.Events"],g=t["Halogen.Query.HalogenM"],D=(t.Model,t.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=D,n.blist=function(n){return d.parentComponent(f.ordInt)({initialState:i.const(n),render:function(n){return p.div_(l.map(l.functorArray)(function(n){return v.slot(n.bid)(e.bmark(n))(s.unit)(m.input(D.create(n.bid)))})(n))},eval:function(n){var e;return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return r.pure(g.applicativeHalogenM)(n.value2)})},receiver:i.const(c.Nothing.value)})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Foldable"],i=(t["Data.Function"],t["Data.Maybe"]),l=(t.Effect,t["Effect.Aff"]),c=t["Effect.Class"],f=(t.Globals,t.Halogen,t["Halogen.Component"]),s=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),d=t["Halogen.HTML.Elements"],v=t["Halogen.HTML.Events"],p=t["Halogen.HTML.Properties"],m=t["Halogen.Query"],g=t["Halogen.Query.HalogenM"],D=(t["Halogen.Query.InputF"],t.Prelude,t["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=D,n.Receive=b,n.mkComponent=function(n){return f.lifecycleComponent(s.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([p.ref(n.elRef)])([])},eval:function t(i){if(i instanceof D)return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(t){return a.bind(g.bindHalogenM)(m.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(g.bindHalogenM)(u.for_(g.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(r){return c.liftEffect(g.monadEffectHalogenM(l.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(g.applicativeHalogenM)(i.value0)})})});if(i instanceof b)return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(new D(i.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[i.constructor.name])},receiver:v.input(b.create),initializer:i.Just.create(m.action(D.create)),finalizer:i.Nothing.value})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},M=p["app'"](v.unit),E=function(n){return w.fromNullableStr(M.userR)+"/notes/"+n};return m.component(g.bifunctorHTML)({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(E(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(E(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(h.applicativeHalogenM)(n.value0)},receiver:o.const(i.Nothing.value)})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],M=t["Data.Semigroup"],E=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Tuple"]),T=t["Data.Unit"],F=t["Data.Void"],H=t.Effect,S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,P=(t.Halogen,t["Halogen.Component"]),U=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],O=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],R=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],q=t["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},$=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},nn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=Q,n.NEditField=G,n.NEditSubmit=z,n.NEdit=K,n.NDeleteAsk=X,n.NDestroy=Y,n._note=Z,n._edit_note=$,n._edit=nn,n.Etitle=j,n.Etext=V,n.EisMarkdown=J,n.nnote=function(n){var t,g=I["app'"](T.unit);return P.parentComponent(w.ordUnit)({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return I.mmoment8601(n.created)},a=O.div([W.id_(E.show(E.showInt)(n.note.id)),N.class_("note w-100 mw7 pa1 mb2")])(M.append(M.semigroupArray)([O.div([N.class_("display")])([O.div([N.class_("link f5 lh-title")])([x.text(C.null(n.note.title)?"[no title]":n.note.title)]),O.br_,n.note.isMarkdown?O.div([N.class_("description mt1")])([U.slot(T.unit)(r.component)(n.note.text)(F.absurd)]):O.div([N.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[O.br_,x.text(n)]})(C.split("\n")(e))))),O.div([N.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(A.snd)(t(n.note)))])([x.text(b.maybe(" ")(A.fst)(t(n.note)))])])])([O.div([N.class_("edit_links db mt3")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(K.create(!0))),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),O.div([N.class_("delete_link di")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!0))),N.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),O.span([N.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!1)))])([x.text("cancel / ")]),O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(Y.create)),N.class_("red")])([x.text("destroy")])])])])])),o=function(n){return function(e){return k.input(G.create)(n(e))}},u=O.form([k.onSubmit(k.input(z.create))])([O.p([N.class_("mt2 mb1")])([x.text("title:")]),O.input([W.type_(x.inputTypeIsProp)(l.InputText.value),N.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),k.onValueChange(o(j.create))]),O.br_,O.p([N.class_("mt2 mb1")])([x.text("description:")]),O.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),k.onValueChange(o(V.create))]),O.div([N.class_("edit_form_checkboxes mb3")])([O.input([W.type_(x.inputTypeIsProp)(l.InputCheckbox.value),N.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),k.onChecked(o(J.create))]),x.text(" "),O.label([W.for("edit_ismarkdown"),N.class_("mr2")])([x.text("use markdown?")]),O.br_]),O.input([W.type_(x.inputTypeIsProp)(l.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),x.text(" "),O.input([W.type_(x.inputTypeIsProp)(l.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),k.onClick(k.input_(K.create(!1)))])]),f=O.p([N.class_("red")])([x.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:function(n){if(n instanceof Q)return a.pure(R.applicativeHalogenM)(n.value0);if(n instanceof G)return o.discard(o.discardUnit)(R.bindHalogenM)(D.modifying(R.monadStateHalogenM)($(y.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof J)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof X)return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof Y)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(t){return o.discard(o.discardUnit)(R.bindHalogenM)(v.void(R.functorHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.destroyNote(t.id))))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return a.pure(R.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(e){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)($(y.strongFn))(e))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(nn(y.strongFn))(n.value0))(function(){return a.pure(R.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return o.discard(o.discardUnit)(R.bindHalogenM)(_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)($(m.strongForget)))(function(t){return o.bind(R.bindHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof f.Left)return a.pure(R.applicativeHalogenM)(n.value1);if(e.body instanceof f.Right)return o.discard(o.discardUnit)(R.bindHalogenM)(0===t.id?_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(o.bindFlipped(H.bindEffect)(q.setHref(N.fromNullableStr(g.noteR)))(N._loc)):o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(Z(y.strongFn))(t))(function(){return D.assign(R.monadStateHalogenM)(nn(y.strongFn))(!1)}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): "+[n.constructor.name])},receiver:d.const(b.Nothing.value)})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.Functor"]),a=(t["Data.List"],t["Data.List.Types"]),o=(t["Data.Map"],t["Data.Map.Internal"]),u=t["Data.Maybe"],i=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),l=(t["Halogen.Component"],t["Halogen.Data.OrdBox"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce;n.unDriverStateX=f,n.mkDriverStateXRef=s,n.renderStateX=function(n){return function(n){return f(function(e){return(e.prjQuery,l.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(c){return function(){var f=i.new({})(),d=i.new(o.empty)(),v=i.new(o.empty)(),p=i.new(r.voidLeft(u.functorMaybe)(n.initializer)(a.Nil.value))(),m=i.new(new u.Just(a.Nil.value))(),g=i.new(u.Nothing.value)(),D=i.new(0)(),b=i.new(new u.Just(o.empty))(),h={component:n,state:n.initialState(e),refs:o.empty,children:o.empty,childrenIn:d,childrenOut:v,selfRef:f,handler:t,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:u.Nothing.value,prjQuery:l,fresh:D,subscriptions:b,lifecycleHandlers:c};return i.write(h)(f)(),s(f)}}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad.Error.Class"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=t["Data.List"],w=t["Data.List.Types"],y=t["Data.Map"],M=t["Data.Map.Internal"],E=t["Data.Maybe"],C=t["Data.Ord"],A=(t["Data.Semiring"],t["Data.Set"]),T=(t["Data.Tuple"],t.Effect,t["Effect.Aff"]),F=t["Effect.Class"],H=t["Effect.Exception"],S=t["Effect.Ref"],L=t["Halogen.Aff.Driver.State"],_=t["Halogen.Data.OrdBox"],I=t["Halogen.Query.EventSource"],P=t["Halogen.Query.ForkF"],U=t["Halogen.Query.HalogenM"],x=t["Halogen.Query.InputF"],O=(t.Prelude,t["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(e)))(function(r){if(r instanceof E.Nothing)return n(t);if(r instanceof E.Just)return F.liftEffect(T.monadEffectAff)(S.write(new E.Just(new w.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): "+[r.constructor.name])})}}},W=function(n){return function(t){return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({initializers:w.Nil.value,finalizers:w.Nil.value})(n)))(function(){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(t))(function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(g.traverse_(T.applicativeAff)(w.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(T.bindAff)(s.parSequence_(T.parallelAff)(w.foldableList)(n.initializers))(function(){return e.pure(T.applicativeAff)(t)})})})})})}};n.handleLifecycle=W,n.eval=function(n){return function(t){var s=function(t){return function(l){if(l instanceof U.State)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(r){var o=l.value0(r.state);if(O.unsafeRefEq(r.state)(o.value1))return e.pure(T.applicativeAff)(o.value0);if(v.otherwise)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({component:r.component,state:o.value1,refs:r.refs,children:r.children,childrenIn:r.childrenIn,childrenOut:r.childrenOut,selfRef:r.selfRef,handler:r.handler,pendingQueries:r.pendingQueries,pendingOuts:r.pendingOuts,pendingHandlers:r.pendingHandlers,rendering:r.rendering,prjQuery:r.prjQuery,fresh:r.fresh,subscriptions:r.subscriptions,lifecycleHandlers:r.lifecycleHandlers})(t)))(function(){return a.discard(a.discardUnit)(T.bindAff)(W(r.lifecycleHandlers)(n(r.lifecycleHandlers)(t)))(function(){return e.pure(T.applicativeAff)(o.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[o.constructor.name])});if(l instanceof U.Subscribe)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(a.bind(T.bindAff)(I.unEventSource(l.value0))(function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var i=a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions)))(function(t){return e.when(T.applicativeAff)(E.maybe(!1)(M.member(C.ordInt)(u))(t))(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.delete(C.ordInt)(u)))(n.subscriptions)))});return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.insert(C.ordInt)(u)(i)))(n.subscriptions)))(function(){var u=a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(o.await(T.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions))))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(E.isJust(n))(a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(R(t)(r)))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(m.eq(I.eqSubscribeStatus)(n)(I.Listening.value))(u)}))})});return a.discard(a.discardUnit)(T.bindAff)(o.runProcess(T.monadRecAff)(o.pullFrom(T.monadRecAff)(u)(r.producer)))(function(){return i})})})})))(function(n){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Lift)return l.value0;if(l instanceof U.Halt)return u.throwError(T.monadThrowAff)(H.error(l.value0));if(l instanceof U.GetSlots)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value0(b.map(w.functorList)(_.unOrdBox)(h.fromFoldable(A.foldableSet)(y.keys(n.children)))))});if(l instanceof U.CheckSlot)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.member(_.ordOrdBox)(n.component.mkOrdBox(l.value0))(n.children)))});if(l instanceof U.ChildQuery)return N(t)(l.value0)(l.value1);if(l instanceof U.Raise)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(k(n.handler)(n.pendingOuts)(l.value0))(function(){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Par)return d.sequential(T.parallelAff)(r.retractFreeAp(T.applicativeParAff)(r.hoistFreeAp(function(n){return d.parallel(T.parallelAff)(g(t)(n))})(l.value0)));if(l instanceof U.Fork)return P.unFork(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(g(t)(n.value0)))(function(t){return e.pure(T.applicativeAff)(n.value1(D.flip(T.killFiber)(t)))})})(l.value0);if(l instanceof U.GetRef)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.lookup(C.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[l.constructor.name])}},g=function(n){return function(e){return l.foldFree(T.monadRecAff)(s(n))(e)}},R=function(n){return function(e){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(t){var r=t.component.eval(e);return l.foldFree(T.monadRecAff)(s(n))(r)})}},N=function(n){return function(e){return p.unCoyoneda(function(t){return function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){var o=M.lookup(_.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof E.Just)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(o.value0)))(function(n){return L.unDriverStateX(function(n){var e=n.prjQuery(r);if(e instanceof E.Just)return b.map(T.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): "+[e.constructor.name])})(n)});if(o instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): "+[o.constructor.name])})}})}};return function(n){if(n instanceof x.RefUpdate)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(function(e){return{component:e.component,state:e.state,refs:M.alter(C.ordString)(D.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(t)))(function(){return e.pure(T.applicativeAff)(n.value2)});if(n instanceof x.Query)return R(t)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Fork.Class"],u=t["Control.Monad.Rec.Class"],i=t["Control.Parallel"],l=(t["Control.Semigroupoid"],t["Data.Either"]),c=t["Data.Foldable"],f=t["Data.Function"],s=t["Data.Functor"],d=t["Data.List"],v=t["Data.List.Types"],p=(t["Data.Map"],t["Data.Map.Internal"]),m=t["Data.Maybe"],g=t["Data.Ord"],D=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),b=t.Effect,h=t["Effect.Aff"],w=t["Effect.Aff.AVar"],y=t["Effect.Class"],M=t["Effect.Console"],E=t["Effect.Exception"],C=t["Effect.Ref"],A=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),T=t["Halogen.Aff.Driver.State"],F=t["Halogen.Component"],H=t["Halogen.Data.OrdBox"],S=t["Halogen.Query.InputF"],L=(t.Prelude,C.new({initializers:v.Nil.value,finalizers:v.Nil.value})),_=h.runAff_(l.either(E.throwException)(f.const(e.pure(b.applicativeEffect)(D.unit))));n.runUI=function(n){return function(t){return function(I){var P=function(n){return function(){var e=C.read(n)();return C.write(m.Nothing.value)(n)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(e)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})()}},U=function(n){return function(e){return function(t){return function(a){return F.unComponent(function(o){return function(){var u=L(),l=T.initDriverState(o)(t)(e)(a)(u)(),f=C.read(n)();return C.write({initializers:v.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(b.bindEffect)(T.unDriverStateX(function(e){return x(n)(e.selfRef)}))(C.read(l))(),r.bindFlipped(b.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var a=s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.initializer);return C.modify_(function(n){return{initializers:new v.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(v.foldableList)(d.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(c.sequence_(h.applicativeAff)(c.foldableMaybe)(a))(function(){return y.liftEffect(h.monadEffectAff)(function(){return P(t.pendingQueries)(),P(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(C.read(l))(),l}})}}}},x=function(t){return function(a){return function(){var i=C.read(a)(),l=s.map(b.functorEffect)(m.isNothing)(C.read(i.pendingHandlers))();e.when(b.applicativeEffect)(l)(C.write(new m.Just(v.Nil.value))(i.pendingHandlers))(),C.write(p.empty)(i.childrenOut)(),C.write(i.children)(i.childrenIn)();var g=A.queuingHandler(function(n){return s.void(h.functorAff)(k(i.selfRef)(n))})(i.pendingHandlers),w=A.queuingHandler(function(n){return g(S.Query.create(n))})(i.pendingQueries),y=n.render(function(n){return _(g(n))})(function(t){return function(a){return function(o){return function(u){return function(i){return F.unComponentSlot(function(l){return function(f){return function(d){return function(v){return function(g){return function(w){var y=o(l);return function(){var o=C.read(u)(),l=function(){var n=p.pop(H.ordOrdBox)(y)(o);if(n instanceof m.Just)return C.write(n.value0.value1)(u)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(v(d))(function(e){return function(){var t=C.read(n.value0.value0)();return T.unDriverStateX(function(n){return c.for_(b.applicativeEffect)(c.foldableMaybe)(n.prjQuery(e))(function(e){return _(k(n.selfRef)(S.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof m.Nothing)return U(t)(function(n){return m.maybe(e.pure(h.applicativeAff)(D.unit))(a)(g(n))})(d)(w)(f)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),A=s.map(b.functorEffect)(p.member(H.ordOrdBox)(y))(C.read(i))();return e.when(b.applicativeEffect)(A)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),C.modify_(p.insert(H.ordOrdBox)(y)(l))(i)(),r.bind(b.bindEffect)(C.read(l))(T.renderStateX(b.functorEffect)(function(t){if(t instanceof m.Nothing)return E.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof m.Just)return e.pure(b.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(t)(w)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=C.read(i.childrenOut)();return r.bind(b.bindEffect)(C.read(i.childrenIn))(c.traverse_(b.applicativeEffect)(p.foldableMap)(function(e){return function(){var r=C.read(e)();return T.renderStateX_(b.applicativeEffect)(n.removeChild)(r)(),O(t)(r)()}}))(),C.modify_(function(n){return{rendering:new m.Just(y),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(b.applicativeEffect)(l)(f.flip(u.tailRecM(u.monadRecEffect))(D.unit)(function(n){return function(){var n=C.read(i.pendingHandlers)();C.write(new m.Just(v.Nil.value))(i.pendingHandlers)(),c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})(n)();var e=C.read(i.pendingHandlers)();return m.maybe(!1)(d.null)(e)?s.voidLeft(b.functorEffect)(C.write(m.Nothing.value)(i.pendingHandlers))(new u.Done(D.unit))():new u.Loop(D.unit)}}))()}}},O=function n(e){return T.unDriverStateX(function(t){return function(){var a;return(a=t,function(){return r.bindFlipped(b.bindEffect)(c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(n))}))(C.read(a.subscriptions))(),C.write(m.Nothing.value)(a.subscriptions)()})(),c.for_(b.applicativeEffect)(c.foldableMaybe)(s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.finalizer))(function(n){return C.modify_(function(e){return{initializers:e.initializers,finalizers:new v.Cons(n,e.finalizers)}})(e)})(),c.for_(b.applicativeEffect)(p.foldableMap)(t.children)(r.composeKleisliFlipped(b.bindEffect)(n(e))(C.read))()}})},k=function(n){return A.eval(x)(n)};return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(L))(function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.new(0)))(function(u){return A.handleLifecycle(n)(function(){var i,f=C.new(p.empty)();return r.bind(b.bindEffect)(r.bind(b.bindEffect)(U(n)((i=f,function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.read(i)))(function(e){return c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(s.map(p.functorMap)(w.put(n))(e))})}))(I)(m.Just.create)(t))(C.read))(T.unDriverStateX(function(n){return e.pure(b.applicativeEffect)({query:(i=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof m.Just)return k(i)(new S.Query(t.value0));if(t instanceof m.Nothing)return y.liftEffect(h.monadEffectAff)(E.throwException(E.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(t=u,function(n){return function(e){return r.bind(h.bindAff)(w.empty)(function(u){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(function(){var e=C.read(t)();return C.modify_(function(n){return n+1|0})(t)(),C.modify_(p.insert(g.ordInt)(e)(u))(n)(),e}))(function(t){var i=a.producer(h.monadAff)(s.map(h.functorAff)(l.Left.create)(w.take(u)));return s.void(h.functorAff)(o.fork(o.monadForkAff)(r.discard(r.discardUnit)(h.bindAff)(a.runProcess(h.monadRecAff)(a.connect(h.monadRecAff)(h.parallelAff)(i)(e)))(function(){return r.discard(r.discardUnit)(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.modify_(p.delete(g.ordInt)(t))(n)))(function(){return w.kill(E.error("ended"))(u)})})))})})}})(f)});var t,i}))()})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e,r=t["Data.Array"],a=(t["Data.Eq"],t["Data.Function.Uncurried"],t["Data.Maybe"]),o=t["Data.Nullable"],u=t["Data.Tuple"],i=t.Effect,l=(t["Effect.Uncurried"],t["Halogen.VDom.Machine"]),c=t["Halogen.VDom.Types"],f=t["Halogen.VDom.Util"],s=(t.Prelude,t["Web.DOM.Document"],t["Web.DOM.Element"]),d=(t["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof a.Just&&e.value0 instanceof a.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof a.Nothing&&e.value0 instanceof a.Nothing)}),v=function(n,e,t){var r=n.buildWidget(n)(t);return new l.Step(r.value0,function n(e,t){return function(r){if(r instanceof c.Grafted)return n(e,t)(c.runGraft(r.value0));if(r instanceof c.Widget){var a=t.value1(r.value0);return new l.Step(a.value0,n(e,a),a.value2)}return t.value2(),e(r)}}(e,r),r.value2)},p=function(n,e,t){var r,a=f.createTextNode(t,n.document),o=(r=a,function(){var n=f.parentNode(r);return f.removeChild(r,n)});return new l.Step(a,function n(e,t,r,a){return function(o){if(o instanceof c.Grafted)return n(e,t,r,a)(c.runGraft(o.value0));if(o instanceof c.Text){var u=new l.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(f.setTextContent(o.value0,r),u)}return t(),e(o)}}(e,o,a,t),o)},m=(e=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),f.forInE(t,function(n,e){return e.value2()}),l.halt(e)()}},function(n,t,a,i){var v=f.createElement(o.toNullable(a.value0),a.value1,n.document),p=s.toNode(v),m=f.strMapWithIxE(i,u.fst,function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,p),a}),g=n.buildAttributes(v)(a.value2),D=e(p,g,m);return new l.Step(p,function n(t,a,o,i,s,v,p){return function(m){if(m instanceof c.Grafted)return n(t,a,o,i,s,v,p)(c.runGraft(m.value0));if(m instanceof c.Keyed&&d(s,m.value0)){var g=r.length(m.value1);if(0===p&&0===g){var D=l.step(i)(m.value0.value2),b=e(o,D,v);return new l.Step(o,n(t,b,o,D,m.value0,v,0),b)}D=f.diffWithKeyAndIxE(v,m.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return f.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,o),a});var h=l.step(i)(m.value0.value2);return b=e(o,h,D),new l.Step(o,n(t,b,o,h,m.value0,D,g),b)}return a(),t(m)}}(t,D,p,g,a,m,r.length(i)),D)}),g=function(){var n=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),i.foreachE(t)(l.halt)(),l.halt(e)()}};return function(e,t,a,u){var i=f.createElement(o.toNullable(a.value0),a.value1,e.document),v=s.toNode(i),p=f.forE(u,function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,v),r}),m=e.buildAttributes(i)(a.value2),g=n(v,m,p);return new l.Step(v,function e(t,a,o,u,i,s){return function(v){if(v instanceof c.Grafted)return e(t,a,o,u,i,s)(c.runGraft(v.value0));if(v instanceof c.Elem&&d(i,v.value0)){var p=r.length(v.value1);if(0===r.length(s)&&0===p){var m=l.step(u)(v.value0.value2),g=n(o,m,s);return new l.Step(o,e(t,g,o,m,v.value0,s),g)}m=f.diffWithIxE(s,v.value1,function(n,e,t){var r=e.value1(t);return f.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,o),r});var D=l.step(u)(v.value0.value2);return g=n(o,D,m),new l.Step(o,e(t,g,o,D,v.value0,m),g)}return a(),t(v)}}(t,g,v,m,a,p),g)}}();n.buildVDom=function(n){return function e(t){if(t instanceof c.Text)return p(n,e,t.value0);if(t instanceof c.Elem)return g(n,e,t.value0,t.value1);if(t instanceof c.Keyed)return m(n,e,t.value0,t.value1);if(t instanceof c.Widget)return v(n,e,t.value0);if(t instanceof c.Grafted)return e(c.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])}},n.buildText=p,n.buildElem=g,n.buildKeyed=m,n.buildWidget=v}(t["Halogen.VDom.DOM"]=t["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Class"],v=t["Effect.Ref"],p=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),m=t["Halogen.Aff.Driver.State"],g=(t["Halogen.Component"],t["Halogen.HTML.Core"],t["Halogen.Query.InputF"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),D=t["Halogen.VDom.DOM.Prop"],b=t["Halogen.VDom.Machine"],h=(t.Prelude,t["Unsafe.Reference"]),w=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),y=t["Web.HTML"],M=t["Web.HTML.HTMLDocument"],E=t["Web.HTML.HTMLElement"],C=t["Web.HTML.Window"],A=function(n){return function(){var e=w.parentNode(n.node)();return o.traverse_(f.applicativeEffect)(o.foldableMaybe)(function(e){return w.removeChild(n.node)(e)})(e)()}},T=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(s){if(s instanceof l.Nothing)return function(){var i=v.new(a)(),l=function(n){return function(t){return function(r){var a=m.unRenderStateX(function(n){return n.node}),o=e.pure(f.applicativeEffect)(c.unit),u=function n(e){var r=v.read(t)()(e)(),u=a(r);return new b.Step(u,n,o)};return{buildWidget:function(n){return function(n){var e=v.read(t)()(n)(),r=a(e);return new b.Step(r,u,o)}},buildAttributes:D.buildProp(n),document:r}}}}(r)(i)(n),s=g.buildVDom(l)(o),d=b.extract(s);return u.void(f.functorEffect)(w.appendChild(d)(E.toNode(t)))(),{machine:s,node:d,renderChildRef:i}};if(s instanceof l.Just)return function(){v.write(a)(s.value0.renderChildRef)();var n=w.parentNode(s.value0.node)(),t=w.nextSibling(s.value0.node)(),r=b.step(s.value0.machine)(o),d=b.extract(r);return e.when(f.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(h.unsafeRefEq)(s.value0.node)(d))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(f.functorEffect)(w.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(f.functorEffect)(w.appendChild(n)(r.value0)):e.pure(f.applicativeEffect)(c.unit)}}}(d)(t)(n))(),{machine:r,node:d,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:A}}};n.runUI=function(n){return function(e){return function(t){return r.bind(s.bindAff)(d.liftEffect(s.monadEffectAff)(u.map(f.functorEffect)(M.toDocument)(r.bindFlipped(f.bindEffect)(C.document)(y.window))))(function(r){return p.runUI(T(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),M=e._mainImpl;n.main=M,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},r.getResponse=function(n){return n.response}),function(n,e){return function(t,a){var o=r.newXHR(),u=r.fixupUrl(e.url);if(o.open(e.method||"GET",u,!0,e.username,e.password),e.headers)try{for(var i,l=0;null!=(i=e.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(f){t(f)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return o.onerror=c("AJAX request failed"),o.ontimeout=c("AJAX request timed out"),o.onload=function(){a({status:o.status,statusText:o.statusText,headers:o.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(function(n){return function(n){return!0}}),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqInt=i,n.eqChar=l,n.eqString=u,n.eqUnit=o,n.eqVoid=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(n){return function(e){return function(t){if(t instanceof i)return n;if(t instanceof l)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},f=c(!0)(o.const(!1)),s=c(!1)(o.const(!0)),d=new u.Functor(function(n){return function(e){return e instanceof l?new l(n(e.value0)):i.value}}),v=new e.Apply(function(){return d},function(n){return function(e){if(n instanceof l)return u.map(d)(n.value0)(e);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),p=new r.Bind(function(){return v},function(n){return function(e){if(n instanceof l)return e(n.value0);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=i,n.Just=l,n.maybe=c,n.fromMaybe=function(n){return c(n)(a.identity(a.categoryFn))},n.isJust=s,n.isNothing=f,n.fromJust=function(n){return function(n){if(n instanceof l)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=d,n.applyMaybe=v,n.bindMaybe=p}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=J._3(V)));break;case m:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(w))(J._2),y=null;break;case g:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=J._1;break;case D:R--,b=_,w=J._1,y=J._2}break;case I:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,M(B[Q].handler(w)));return B=null,void(U&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function V(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:U=n.left(e),b=I,w=U,j(d);break;case L:null===U&&(U=n.left(e)),0===R&&(b===L&&(W=new h(v,new h(g,w(e)),W,U)),b=_,w=null,y=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return b===T&&j(d),e}},onComplete:V,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?j(d):A.enqueue(function(){j(d)}))}}}function U(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),M=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=M,n.drop=function(n){return function(e){return c.drop(c.length(M(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Lens"],t["Data.Lens.Getter"]),c=t["Data.Lens.Internal.Forget"],f=t["Data.Lens.Lens"],s=t["Data.Lens.Setter"],d=t["Data.Maybe"],v=t["Data.Profunctor.Strong"],p=t["Data.Unit"],m=(t["Effect.Aff"],t["Effect.Aff.Class"]),g=t.Globals,D=(t.Halogen,t["Halogen.Component"]),b=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),h=t["Halogen.HTML.Elements"],w=t["Halogen.HTML.Events"],y=t["Halogen.HTML.Properties"],M=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),C=(t["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),H=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=S,n.UEditField=F,n.USubmit=H,n.EarchiveDefault=C,n.EprivateDefault=A,n.EprivacyLock=T,n.usetting=function(n){var t;g["app'"](p.unit);return D.component(b.bifunctorHTML)({initialState:u.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return w.input(F.create)(n(e))}};return h.div([E.class_("settings-form")])([h.div([E.class_("fw7 mb2")])([b.text("Account Settings")]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),w.onChecked(e(C.create))]),h.label([y.for("archiveDefault"),E.class_("lh-copy")])([b.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([y.for("privateDefault"),E.class_("lh-copy")])([b.text("Default new bookmarks to Private")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),w.onChecked(e(T.create))]),h.label([y.for("privacyLock"),E.class_("lh-copy")])([b.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof F)return a.discard(a.discardUnit)(M.bindHalogenM)(s.modifying(M.monadStateHalogenM)(S(v.strongFn))(function(){if(n.value0 instanceof C)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof T)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): "+[n.value0.constructor.name])}()))(function(){return r.pure(M.applicativeHalogenM)(n.value1)});if(n instanceof H)return a.bind(M.bindHalogenM)(l.use(M.monadStateHalogenM)(S(c.strongForget)))(function(t){return a.discard(a.discardUnit)(M.bindHalogenM)(i.void(M.functorHalogenM)(m.liftAff(M.monadAffHalogenM(m.monadAffAff))(e.editAccountSettings(t))))(function(){return r.pure(M.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:u.const(d.Nothing.value)})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=(t["Data.Ord"],t["Data.Profunctor.Strong"]),D=t["Data.Semigroup"],b=(t["Data.String"],t["Data.String.Common"]),h=(t["Data.String.Pattern"],t["Data.Tuple"]),w=t["Data.Unit"],y=t["Effect.Aff"],M=t["Effect.Aff.Class"],E=t["Effect.Class"],C=t.Globals,A=(t.Halogen,t["Halogen.Component"]),T=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),F=t["Halogen.HTML.Elements"],H=t["Halogen.HTML.Events"],S=t["Halogen.HTML.Properties"],L=t["Halogen.Query.HalogenM"],_=(t.Model,t.Prelude,t.Util),I=t["Web.Event.Event"],P=t["Web.HTML"],U=t["Web.HTML.Location"],x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},Q=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=B,n.BEditSubmit=q,n.BDeleteAsk=j,n.BDestroy=V,n.Eurl=x,n.Etitle=O,n.Edescription=k,n.Etags=W,n.Eprivate=R,n.Etoread=N,n._bm=Q,n._edit_bm=J,n.addbmark=function(n){var t;C["app'"](w.unit);return A.component(T.bifunctorHTML)({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return H.input(B.create)(n(e))}},r=F.div([_.class_("alert")])([T.text("previously saved "),F.span([_.class_("link f7 dib gray pr3"),S.title(p.maybe(n.bm.time)(h.snd)(e))])([T.text(p.maybe(" ")(h.fst)(e))]),F.div([_.class_("edit_links dib ml1")])([F.div([_.class_("delete_link di")])([F.button(D.append(D.semigroupArray)([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!0))),_.class_("delete")])(m.guard(m.monoidArray)(n.deleteAsk)([_.attr("hidden")("hidden")])))([T.text("delete")]),F.span(D.append(D.semigroupArray)([_.class_("confirm red")])(m.guard(m.monoidArray)(!n.deleteAsk)([_.attr("hidden")("hidden")])))([F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!1)))])([T.text("cancel / ")]),F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(V.create)),_.class_("red")])([T.text("destroy")])])])])]),a=F.form([H.onSubmit(H.input(q.create))])([F.table([_.class_("w-100")])([F.tbody_([F.tr_([F.td([_.class_("w1")])([]),F.td_(m.guard(m.monoidArray)(n.bm.bid>0)([r]))]),F.tr_([F.td_([F.label([S.for("url")])([T.text("URL")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputUrl.value),S.id_("url"),_.class_("w-100 mv1"),S.required(!0),S.name("url"),S.autofocus(b.null(n.bm.url)),S.value(n.edit_bm.url),H.onValueChange(t(x.create))])])]),F.tr_([F.td_([F.label([S.for("title")])([T.text("title")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("title"),_.class_("w-100 mv1"),S.name("title"),S.value(n.edit_bm.title),H.onValueChange(t(O.create))])])]),F.tr_([F.td_([F.label([S.for("description")])([T.text("description")])]),F.td_([F.textarea([_.class_("w-100 mt1 mid-gray"),S.id_("description"),S.name("description"),S.rows(4),S.value(n.edit_bm.description),H.onValueChange(t(k.create))])])]),F.tr_([F.td_([F.label([S.for("tags")])([T.text("tags")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("tags"),_.class_("w-100 mv1"),S.name("tags"),S.autocomplete(!1),_.attr("autocapitalize")("off"),S.autofocus(!b.null(n.bm.url)),S.value(n.edit_bm.tags),H.onValueChange(t(W.create))])])]),F.tr_([F.td_([F.label([S.for("private")])([T.text("private")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("private"),_.class_("private pointer"),S.name("private"),S.checked(n.edit_bm.private),H.onChecked(t(R.create))])])]),F.tr_([F.td_([F.label([S.for("toread")])([T.text("read later")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("toread"),_.class_("toread pointer"),S.name("toread"),S.checked(n.edit_bm.toread),H.onChecked(t(N.create))])])]),F.tr_([F.td_([]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputSubmit.value),_.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),S.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),o=F.p([_.class_("red")])([T.text("you killed this bookmark")]);return F.div_([n.destroyed?o:a])},eval:function(n){if(n instanceof j)return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof V)return a.bind(L.bindHalogenM)(o.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.destroy(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return r.pure(L.applicativeHalogenM)(n.value0)})})});if(n instanceof B)return a.discard(a.discardUnit)(L.bindHalogenM)(v.modifying(L.monadStateHalogenM)(J(g.strongFn))(function(){if(n.value0 instanceof x)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof k)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof q)return a.discard(a.discardUnit)(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(I.preventDefault(n.value0)))(function(){return a.bind(L.bindHalogenM)(f.use(L.monadStateHalogenM)(J(s.strongForget)))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(v.assign(L.monadStateHalogenM)(Q(g.strongFn))(t))(function(){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._loc))(function(e){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(P.window))(function(t){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._curQuerystring))(function(o){return a.discard(a.discardUnit)(L.bindHalogenM)((u=_._lookupQueryStringValue(o)("next"))instanceof p.Just?E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(U.setHref(u.value0)(e)):E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(C.closeWindow(t)))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});var u})})})})})})});throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): "+[n.constructor.name])},receiver:l.const(p.Nothing.value)})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=t["Data.Array"],c=(t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Profunctor.Strong"],w=t["Data.Semigroup"],y=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],C=(t["Data.String.Pattern"],t["Data.Tuple"]),A=t["Data.Unit"],T=t["Effect.Aff"],F=t["Effect.Aff.Class"],H=t["Effect.Class"],S=t.Globals,L=(t.Halogen,t["Halogen.Component"]),_=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),I=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],U=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],O=(t.Model,t.Prelude,t.Util),k=t["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},$=function(n){return p.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},nn=function(n){return p.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=V,n.BDeleteAsk=J,n.BDestroy=Q,n.BEdit=G,n.BEditField=z,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=W,n.Etitle=R,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=j,n.BNotifyRemove=Y,n._bm=nn,n._edit_bm=Z,n._edit=$,n.bmark=function(n){var t,p=S["app'"](A.unit);return L.component(_.bifunctorHTML)({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([I.button([O.class_("moon-gray"),P.onClick(P.input_(V.create(!n.bm.selected)))])([_.text("✭")])])]),a=S.mmoment8601(n.bm.time),o=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("edit_links di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(G.create(!0))),O.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([O.class_("delete_link di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!0))),O.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([O.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!1)))])([_.text("cancel / ")]),I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(Q.create)),O.class_("red")])([_.text("destroy")])])])]),I.div([O.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([_.text("  "),I.button([P.onClick(P.input_(X.create)),O.class_("mark_read")])([_.text("mark as read")])]))]),f=function(n){return O.fromNullableStr(p.userR)+"/t:"+n},d=function(n){return function(e){return P.input(z.create)(n(e))}},v=[I.div([O.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([P.onSubmit(P.input(K.create))])([I.div_([_.text("url")]),I.input([U.type_(_.inputTypeIsProp)(i.InputUrl.value),O.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),P.onValueChange(d(W.create))]),I.br_,I.div_([_.text("title")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),P.onValueChange(d(R.create))]),I.br_,I.div_([_.text("description")]),I.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),P.onValueChange(d(N.create))]),I.br_,I.div([U.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),O.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),P.onValueChange(d(B.create))]),I.br_]),I.div([O.class_("edit_form_checkboxes mv3")])([I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),P.onChecked(d(q.create))]),_.text(" "),I.label([U.for("edit_private"),O.class_("mr2")])([_.text("private")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),P.onChecked(d(j.create))]),_.text(" "),I.label([U.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([U.type_(_.inputTypeIsProp)(i.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),P.onClick(P.input_(G.create(!1)))])])])],m=[I.div([O.class_("display")])(w.append(w.semigroupArray)([I.a([U.href(n.bm.url),U.target("_blank"),O.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([_.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([U.href(n.bm.url),O.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),O.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([O.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[I.br_,_.text(n)]})(E.split("\n")(t))))),I.div([O.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!E.null(n.bm.tags))(s.map(s.functorArray))(function(n){return I.a([O.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),U.href(f(n))])([_.text(n)])})(E.split(" ")(n.bm.tags))),I.a([O.class_("link f7 dib gray w4"),U.title(g.maybe(n.bm.time)(C.snd)(a)),U.href((e=n.bm.slug,O.fromNullableStr(p.userR)+"/b:"+e))])([_.text(g.maybe(" ")(C.fst)(a))])])(o))];return I.div([U.id_(y.show(y.showInt)(n.bm.bid)),O.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(w.append(w.semigroupArray)(r)(n.edit?v:m))},eval:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})});if(n instanceof J)return a.discard(a.discardUnit)(x.bindHalogenM)(o.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof Q)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.destroy(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(x.raise(Y.value))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof X)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.markRead(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof G)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(Z(h.strongFn))(e))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(n.value0))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(){if(n.value0 instanceof W)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(x.bindHalogenM)(H.liftEffect(x.monadEffectHalogenM(T.monadEffectAff))(k.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(Z(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(nn(h.strongFn))(t))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(!1))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:f.const(g.Nothing.value)})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Array"],i=(t["Data.Eq"],t["Data.Function"]),l=t["Data.Functor"],c=t["Data.Maybe"],f=t["Data.Ord"],s=t["Data.Unit"],d=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),v=t["Halogen.HTML"],p=t["Halogen.HTML.Elements"],m=t["Halogen.HTML.Events"],g=t["Halogen.Query.HalogenM"],D=(t.Model,t.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=D,n.blist=function(n){return d.parentComponent(f.ordInt)({initialState:i.const(n),render:function(n){return p.div_(l.map(l.functorArray)(function(n){return v.slot(n.bid)(e.bmark(n))(s.unit)(m.input(D.create(n.bid)))})(n))},eval:function(n){var e;return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return r.pure(g.applicativeHalogenM)(n.value2)})},receiver:i.const(c.Nothing.value)})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Foldable"],i=(t["Data.Function"],t["Data.Maybe"]),l=(t.Effect,t["Effect.Aff"]),c=t["Effect.Class"],f=(t.Globals,t.Halogen,t["Halogen.Component"]),s=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),d=t["Halogen.HTML.Elements"],v=t["Halogen.HTML.Events"],p=t["Halogen.HTML.Properties"],m=t["Halogen.Query"],g=t["Halogen.Query.HalogenM"],D=(t["Halogen.Query.InputF"],t.Prelude,t["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=D,n.Receive=b,n.mkComponent=function(n){return f.lifecycleComponent(s.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([p.ref(n.elRef)])([])},eval:function t(i){if(i instanceof D)return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(t){return a.bind(g.bindHalogenM)(m.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(g.bindHalogenM)(u.for_(g.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(r){return c.liftEffect(g.monadEffectHalogenM(l.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(g.applicativeHalogenM)(i.value0)})})});if(i instanceof b)return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(new D(i.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[i.constructor.name])},receiver:v.input(b.create),initializer:i.Just.create(m.action(D.create)),finalizer:i.Nothing.value})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},M=p["app'"](v.unit),E=function(n){return w.fromNullableStr(M.userR)+"/notes/"+n};return m.component(g.bifunctorHTML)({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(E(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(E(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(h.applicativeHalogenM)(n.value0)},receiver:o.const(i.Nothing.value)})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],M=t["Data.Semigroup"],E=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Tuple"]),T=t["Data.Unit"],F=t["Data.Void"],H=t.Effect,S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,P=(t.Halogen,t["Halogen.Component"]),U=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],O=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],R=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],q=t["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},$=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},nn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=Q,n.NEditField=G,n.NEditSubmit=z,n.NEdit=K,n.NDeleteAsk=X,n.NDestroy=Y,n._note=Z,n._edit_note=$,n._edit=nn,n.Etitle=j,n.Etext=V,n.EisMarkdown=J,n.nnote=function(n){var t,g=I["app'"](T.unit);return P.parentComponent(w.ordUnit)({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return I.mmoment8601(n.created)},a=O.div([W.id_(E.show(E.showInt)(n.note.id)),N.class_("note w-100 mw7 pa1 mb2")])(M.append(M.semigroupArray)([O.div([N.class_("display")])([O.div([N.class_("link f5 lh-title")])([x.text(C.null(n.note.title)?"[no title]":n.note.title)]),O.br_,n.note.isMarkdown?O.div([N.class_("description mt1")])([U.slot(T.unit)(r.component)(n.note.text)(F.absurd)]):O.div([N.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[O.br_,x.text(n)]})(C.split("\n")(e))))),O.div([N.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(A.snd)(t(n.note)))])([x.text(b.maybe(" ")(A.fst)(t(n.note)))])])])([O.div([N.class_("edit_links db mt3")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(K.create(!0))),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),O.div([N.class_("delete_link di")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!0))),N.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),O.span([N.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!1)))])([x.text("cancel / ")]),O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(Y.create)),N.class_("red")])([x.text("destroy")])])])])])),o=function(n){return function(e){return k.input(G.create)(n(e))}},u=O.form([k.onSubmit(k.input(z.create))])([O.p([N.class_("mt2 mb1")])([x.text("title:")]),O.input([W.type_(x.inputTypeIsProp)(l.InputText.value),N.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),k.onValueChange(o(j.create))]),O.br_,O.p([N.class_("mt2 mb1")])([x.text("description:")]),O.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),k.onValueChange(o(V.create))]),O.div([N.class_("edit_form_checkboxes mb3")])([O.input([W.type_(x.inputTypeIsProp)(l.InputCheckbox.value),N.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),k.onChecked(o(J.create))]),x.text(" "),O.label([W.for("edit_ismarkdown"),N.class_("mr2")])([x.text("use markdown?")]),O.br_]),O.input([W.type_(x.inputTypeIsProp)(l.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),x.text(" "),O.input([W.type_(x.inputTypeIsProp)(l.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),k.onClick(k.input_(K.create(!1)))])]),f=O.p([N.class_("red")])([x.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:function(n){if(n instanceof Q)return a.pure(R.applicativeHalogenM)(n.value0);if(n instanceof G)return o.discard(o.discardUnit)(R.bindHalogenM)(D.modifying(R.monadStateHalogenM)($(y.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof J)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof X)return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof Y)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(t){return o.discard(o.discardUnit)(R.bindHalogenM)(v.void(R.functorHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.destroyNote(t.id))))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return a.pure(R.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(e){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)($(y.strongFn))(e))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(nn(y.strongFn))(n.value0))(function(){return a.pure(R.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return o.discard(o.discardUnit)(R.bindHalogenM)(_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)($(m.strongForget)))(function(t){return o.bind(R.bindHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof f.Left)return a.pure(R.applicativeHalogenM)(n.value1);if(e.body instanceof f.Right)return o.discard(o.discardUnit)(R.bindHalogenM)(0===t.id?_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(o.bindFlipped(H.bindEffect)(q.setHref(N.fromNullableStr(g.noteR)))(N._loc)):o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(Z(y.strongFn))(t))(function(){return D.assign(R.monadStateHalogenM)(nn(y.strongFn))(!1)}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): "+[n.constructor.name])},receiver:d.const(b.Nothing.value)})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.Functor"]),a=(t["Data.List"],t["Data.List.Types"]),o=(t["Data.Map"],t["Data.Map.Internal"]),u=t["Data.Maybe"],i=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),l=(t["Halogen.Component"],t["Halogen.Data.OrdBox"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce;n.unDriverStateX=f,n.mkDriverStateXRef=s,n.renderStateX=function(n){return function(n){return f(function(e){return(e.prjQuery,l.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(c){return function(){var f=i.new({})(),d=i.new(o.empty)(),v=i.new(o.empty)(),p=i.new(r.voidLeft(u.functorMaybe)(n.initializer)(a.Nil.value))(),m=i.new(new u.Just(a.Nil.value))(),g=i.new(u.Nothing.value)(),D=i.new(0)(),b=i.new(new u.Just(o.empty))(),h={component:n,state:n.initialState(e),refs:o.empty,children:o.empty,childrenIn:d,childrenOut:v,selfRef:f,handler:t,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:u.Nothing.value,prjQuery:l,fresh:D,subscriptions:b,lifecycleHandlers:c};return i.write(h)(f)(),s(f)}}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad.Error.Class"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=t["Data.List"],w=t["Data.List.Types"],y=t["Data.Map"],M=t["Data.Map.Internal"],E=t["Data.Maybe"],C=t["Data.Ord"],A=(t["Data.Semiring"],t["Data.Set"]),T=(t["Data.Tuple"],t.Effect,t["Effect.Aff"]),F=t["Effect.Class"],H=t["Effect.Exception"],S=t["Effect.Ref"],L=t["Halogen.Aff.Driver.State"],_=t["Halogen.Data.OrdBox"],I=t["Halogen.Query.EventSource"],P=t["Halogen.Query.ForkF"],U=t["Halogen.Query.HalogenM"],x=t["Halogen.Query.InputF"],O=(t.Prelude,t["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(e)))(function(r){if(r instanceof E.Nothing)return n(t);if(r instanceof E.Just)return F.liftEffect(T.monadEffectAff)(S.write(new E.Just(new w.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): "+[r.constructor.name])})}}},W=function(n){return function(t){return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({initializers:w.Nil.value,finalizers:w.Nil.value})(n)))(function(){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(t))(function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(g.traverse_(T.applicativeAff)(w.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(T.bindAff)(s.parSequence_(T.parallelAff)(w.foldableList)(n.initializers))(function(){return e.pure(T.applicativeAff)(t)})})})})})}};n.handleLifecycle=W,n.eval=function(n){return function(t){var s=function(t){return function(l){if(l instanceof U.State)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(r){var o=l.value0(r.state);if(O.unsafeRefEq(r.state)(o.value1))return e.pure(T.applicativeAff)(o.value0);if(v.otherwise)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({component:r.component,state:o.value1,refs:r.refs,children:r.children,childrenIn:r.childrenIn,childrenOut:r.childrenOut,selfRef:r.selfRef,handler:r.handler,pendingQueries:r.pendingQueries,pendingOuts:r.pendingOuts,pendingHandlers:r.pendingHandlers,rendering:r.rendering,prjQuery:r.prjQuery,fresh:r.fresh,subscriptions:r.subscriptions,lifecycleHandlers:r.lifecycleHandlers})(t)))(function(){return a.discard(a.discardUnit)(T.bindAff)(W(r.lifecycleHandlers)(n(r.lifecycleHandlers)(t)))(function(){return e.pure(T.applicativeAff)(o.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[o.constructor.name])});if(l instanceof U.Subscribe)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(a.bind(T.bindAff)(I.unEventSource(l.value0))(function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var i=a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions)))(function(t){return e.when(T.applicativeAff)(E.maybe(!1)(M.member(C.ordInt)(u))(t))(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.delete(C.ordInt)(u)))(n.subscriptions)))});return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.insert(C.ordInt)(u)(i)))(n.subscriptions)))(function(){var u=a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(o.await(T.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions))))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(E.isJust(n))(a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(R(t)(r)))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(m.eq(I.eqSubscribeStatus)(n)(I.Listening.value))(u)}))})});return a.discard(a.discardUnit)(T.bindAff)(o.runProcess(T.monadRecAff)(o.pullFrom(T.monadRecAff)(u)(r.producer)))(function(){return i})})})})))(function(n){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Lift)return l.value0;if(l instanceof U.Halt)return u.throwError(T.monadThrowAff)(H.error(l.value0));if(l instanceof U.GetSlots)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value0(b.map(w.functorList)(_.unOrdBox)(h.fromFoldable(A.foldableSet)(y.keys(n.children)))))});if(l instanceof U.CheckSlot)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.member(_.ordOrdBox)(n.component.mkOrdBox(l.value0))(n.children)))});if(l instanceof U.ChildQuery)return N(t)(l.value0)(l.value1);if(l instanceof U.Raise)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(k(n.handler)(n.pendingOuts)(l.value0))(function(){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Par)return d.sequential(T.parallelAff)(r.retractFreeAp(T.applicativeParAff)(r.hoistFreeAp(function(n){return d.parallel(T.parallelAff)(g(t)(n))})(l.value0)));if(l instanceof U.Fork)return P.unFork(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(g(t)(n.value0)))(function(t){return e.pure(T.applicativeAff)(n.value1(D.flip(T.killFiber)(t)))})})(l.value0);if(l instanceof U.GetRef)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.lookup(C.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[l.constructor.name])}},g=function(n){return function(e){return l.foldFree(T.monadRecAff)(s(n))(e)}},R=function(n){return function(e){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(t){var r=t.component.eval(e);return l.foldFree(T.monadRecAff)(s(n))(r)})}},N=function(n){return function(e){return p.unCoyoneda(function(t){return function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){var o=M.lookup(_.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof E.Just)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(o.value0)))(function(n){return L.unDriverStateX(function(n){var e=n.prjQuery(r);if(e instanceof E.Just)return b.map(T.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): "+[e.constructor.name])})(n)});if(o instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): "+[o.constructor.name])})}})}};return function(n){if(n instanceof x.RefUpdate)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(function(e){return{component:e.component,state:e.state,refs:M.alter(C.ordString)(D.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(t)))(function(){return e.pure(T.applicativeAff)(n.value2)});if(n instanceof x.Query)return R(t)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Fork.Class"],u=t["Control.Monad.Rec.Class"],i=t["Control.Parallel"],l=(t["Control.Semigroupoid"],t["Data.Either"]),c=t["Data.Foldable"],f=t["Data.Function"],s=t["Data.Functor"],d=t["Data.List"],v=t["Data.List.Types"],p=(t["Data.Map"],t["Data.Map.Internal"]),m=t["Data.Maybe"],g=t["Data.Ord"],D=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),b=t.Effect,h=t["Effect.Aff"],w=t["Effect.Aff.AVar"],y=t["Effect.Class"],M=t["Effect.Console"],E=t["Effect.Exception"],C=t["Effect.Ref"],A=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),T=t["Halogen.Aff.Driver.State"],F=t["Halogen.Component"],H=t["Halogen.Data.OrdBox"],S=t["Halogen.Query.InputF"],L=(t.Prelude,C.new({initializers:v.Nil.value,finalizers:v.Nil.value})),_=h.runAff_(l.either(E.throwException)(f.const(e.pure(b.applicativeEffect)(D.unit))));n.runUI=function(n){return function(t){return function(I){var P=function(n){return function(){var e=C.read(n)();return C.write(m.Nothing.value)(n)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(e)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})()}},U=function(n){return function(e){return function(t){return function(a){return F.unComponent(function(o){return function(){var u=L(),l=T.initDriverState(o)(t)(e)(a)(u)(),f=C.read(n)();return C.write({initializers:v.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(b.bindEffect)(T.unDriverStateX(function(e){return x(n)(e.selfRef)}))(C.read(l))(),r.bindFlipped(b.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var a=s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.initializer);return C.modify_(function(n){return{initializers:new v.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(v.foldableList)(d.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(c.sequence_(h.applicativeAff)(c.foldableMaybe)(a))(function(){return y.liftEffect(h.monadEffectAff)(function(){return P(t.pendingQueries)(),P(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(C.read(l))(),l}})}}}},x=function(t){return function(a){return function(){var i=C.read(a)(),l=s.map(b.functorEffect)(m.isNothing)(C.read(i.pendingHandlers))();e.when(b.applicativeEffect)(l)(C.write(new m.Just(v.Nil.value))(i.pendingHandlers))(),C.write(p.empty)(i.childrenOut)(),C.write(i.children)(i.childrenIn)();var g=A.queuingHandler(function(n){return s.void(h.functorAff)(k(i.selfRef)(n))})(i.pendingHandlers),w=A.queuingHandler(function(n){return g(S.Query.create(n))})(i.pendingQueries),y=n.render(function(n){return _(g(n))})(function(t){return function(a){return function(o){return function(u){return function(i){return F.unComponentSlot(function(l){return function(f){return function(d){return function(v){return function(g){return function(w){var y=o(l);return function(){var o=C.read(u)(),l=function(){var n=p.pop(H.ordOrdBox)(y)(o);if(n instanceof m.Just)return C.write(n.value0.value1)(u)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(v(d))(function(e){return function(){var t=C.read(n.value0.value0)();return T.unDriverStateX(function(n){return c.for_(b.applicativeEffect)(c.foldableMaybe)(n.prjQuery(e))(function(e){return _(k(n.selfRef)(S.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof m.Nothing)return U(t)(function(n){return m.maybe(e.pure(h.applicativeAff)(D.unit))(a)(g(n))})(d)(w)(f)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),A=s.map(b.functorEffect)(p.member(H.ordOrdBox)(y))(C.read(i))();return e.when(b.applicativeEffect)(A)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),C.modify_(p.insert(H.ordOrdBox)(y)(l))(i)(),r.bind(b.bindEffect)(C.read(l))(T.renderStateX(b.functorEffect)(function(t){if(t instanceof m.Nothing)return E.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof m.Just)return e.pure(b.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(t)(w)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=C.read(i.childrenOut)();return r.bind(b.bindEffect)(C.read(i.childrenIn))(c.traverse_(b.applicativeEffect)(p.foldableMap)(function(e){return function(){var r=C.read(e)();return T.renderStateX_(b.applicativeEffect)(n.removeChild)(r)(),O(t)(r)()}}))(),C.modify_(function(n){return{rendering:new m.Just(y),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(b.applicativeEffect)(l)(f.flip(u.tailRecM(u.monadRecEffect))(D.unit)(function(n){return function(){var n=C.read(i.pendingHandlers)();C.write(new m.Just(v.Nil.value))(i.pendingHandlers)(),c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})(n)();var e=C.read(i.pendingHandlers)();return m.maybe(!1)(d.null)(e)?s.voidLeft(b.functorEffect)(C.write(m.Nothing.value)(i.pendingHandlers))(new u.Done(D.unit))():new u.Loop(D.unit)}}))()}}},O=function n(e){return T.unDriverStateX(function(t){return function(){var a;return(a=t,function(){return r.bindFlipped(b.bindEffect)(c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(n))}))(C.read(a.subscriptions))(),C.write(m.Nothing.value)(a.subscriptions)()})(),c.for_(b.applicativeEffect)(c.foldableMaybe)(s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.finalizer))(function(n){return C.modify_(function(e){return{initializers:e.initializers,finalizers:new v.Cons(n,e.finalizers)}})(e)})(),c.for_(b.applicativeEffect)(p.foldableMap)(t.children)(r.composeKleisliFlipped(b.bindEffect)(n(e))(C.read))()}})},k=function(n){return A.eval(x)(n)};return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(L))(function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.new(0)))(function(u){return A.handleLifecycle(n)(function(){var i,f=C.new(p.empty)();return r.bind(b.bindEffect)(r.bind(b.bindEffect)(U(n)((i=f,function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.read(i)))(function(e){return c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(s.map(p.functorMap)(w.put(n))(e))})}))(I)(m.Just.create)(t))(C.read))(T.unDriverStateX(function(n){return e.pure(b.applicativeEffect)({query:(i=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof m.Just)return k(i)(new S.Query(t.value0));if(t instanceof m.Nothing)return y.liftEffect(h.monadEffectAff)(E.throwException(E.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(t=u,function(n){return function(e){return r.bind(h.bindAff)(w.empty)(function(u){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(function(){var e=C.read(t)();return C.modify_(function(n){return n+1|0})(t)(),C.modify_(p.insert(g.ordInt)(e)(u))(n)(),e}))(function(t){var i=a.producer(h.monadAff)(s.map(h.functorAff)(l.Left.create)(w.take(u)));return s.void(h.functorAff)(o.fork(o.monadForkAff)(r.discard(r.discardUnit)(h.bindAff)(a.runProcess(h.monadRecAff)(a.connect(h.monadRecAff)(h.parallelAff)(i)(e)))(function(){return r.discard(r.discardUnit)(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.modify_(p.delete(g.ordInt)(t))(n)))(function(){return w.kill(E.error("ended"))(u)})})))})})}})(f)});var t,i}))()})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e,r=t["Data.Array"],a=(t["Data.Eq"],t["Data.Function.Uncurried"],t["Data.Maybe"]),o=t["Data.Nullable"],u=t["Data.Tuple"],i=t.Effect,l=(t["Effect.Uncurried"],t["Halogen.VDom.Machine"]),c=t["Halogen.VDom.Types"],f=t["Halogen.VDom.Util"],s=(t.Prelude,t["Web.DOM.Document"],t["Web.DOM.Element"]),d=(t["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof a.Just&&e.value0 instanceof a.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof a.Nothing&&e.value0 instanceof a.Nothing)}),v=function(n,e,t){var r=n.buildWidget(n)(t);return new l.Step(r.value0,function n(e,t){return function(r){if(r instanceof c.Grafted)return n(e,t)(c.runGraft(r.value0));if(r instanceof c.Widget){var a=t.value1(r.value0);return new l.Step(a.value0,n(e,a),a.value2)}return t.value2(),e(r)}}(e,r),r.value2)},p=function(n,e,t){var r,a=f.createTextNode(t,n.document),o=(r=a,function(){var n=f.parentNode(r);return f.removeChild(r,n)});return new l.Step(a,function n(e,t,r,a){return function(o){if(o instanceof c.Grafted)return n(e,t,r,a)(c.runGraft(o.value0));if(o instanceof c.Text){var u=new l.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(f.setTextContent(o.value0,r),u)}return t(),e(o)}}(e,o,a,t),o)},m=(e=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),f.forInE(t,function(n,e){return e.value2()}),l.halt(e)()}},function(n,t,a,i){var v=f.createElement(o.toNullable(a.value0),a.value1,n.document),p=s.toNode(v),m=f.strMapWithIxE(i,u.fst,function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,p),a}),g=n.buildAttributes(v)(a.value2),D=e(p,g,m);return new l.Step(p,function n(t,a,o,i,s,v,p){return function(m){if(m instanceof c.Grafted)return n(t,a,o,i,s,v,p)(c.runGraft(m.value0));if(m instanceof c.Keyed&&d(s,m.value0)){var g=r.length(m.value1);if(0===p&&0===g){var D=l.step(i)(m.value0.value2),b=e(o,D,v);return new l.Step(o,n(t,b,o,D,m.value0,v,0),b)}D=f.diffWithKeyAndIxE(v,m.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return f.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,o),a});var h=l.step(i)(m.value0.value2);return b=e(o,h,D),new l.Step(o,n(t,b,o,h,m.value0,D,g),b)}return a(),t(m)}}(t,D,p,g,a,m,r.length(i)),D)}),g=function(){var n=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),i.foreachE(t)(l.halt)(),l.halt(e)()}};return function(e,t,a,u){var i=f.createElement(o.toNullable(a.value0),a.value1,e.document),v=s.toNode(i),p=f.forE(u,function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,v),r}),m=e.buildAttributes(i)(a.value2),g=n(v,m,p);return new l.Step(v,function e(t,a,o,u,i,s){return function(v){if(v instanceof c.Grafted)return e(t,a,o,u,i,s)(c.runGraft(v.value0));if(v instanceof c.Elem&&d(i,v.value0)){var p=r.length(v.value1);if(0===r.length(s)&&0===p){var m=l.step(u)(v.value0.value2),g=n(o,m,s);return new l.Step(o,e(t,g,o,m,v.value0,s),g)}m=f.diffWithIxE(s,v.value1,function(n,e,t){var r=e.value1(t);return f.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,o),r});var D=l.step(u)(v.value0.value2);return g=n(o,D,m),new l.Step(o,e(t,g,o,D,v.value0,m),g)}return a(),t(v)}}(t,g,v,m,a,p),g)}}();n.buildVDom=function(n){return function e(t){if(t instanceof c.Text)return p(n,e,t.value0);if(t instanceof c.Elem)return g(n,e,t.value0,t.value1);if(t instanceof c.Keyed)return m(n,e,t.value0,t.value1);if(t instanceof c.Widget)return v(n,e,t.value0);if(t instanceof c.Grafted)return e(c.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])}},n.buildText=p,n.buildElem=g,n.buildKeyed=m,n.buildWidget=v}(t["Halogen.VDom.DOM"]=t["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Class"],v=t["Effect.Ref"],p=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),m=t["Halogen.Aff.Driver.State"],g=(t["Halogen.Component"],t["Halogen.HTML.Core"],t["Halogen.Query.InputF"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),D=t["Halogen.VDom.DOM.Prop"],b=t["Halogen.VDom.Machine"],h=(t.Prelude,t["Unsafe.Reference"]),w=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),y=t["Web.HTML"],M=t["Web.HTML.HTMLDocument"],E=t["Web.HTML.HTMLElement"],C=t["Web.HTML.Window"],A=function(n){return function(){var e=w.parentNode(n.node)();return o.traverse_(f.applicativeEffect)(o.foldableMaybe)(function(e){return w.removeChild(n.node)(e)})(e)()}},T=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(s){if(s instanceof l.Nothing)return function(){var i=v.new(a)(),l=function(n){return function(t){return function(r){var a=m.unRenderStateX(function(n){return n.node}),o=e.pure(f.applicativeEffect)(c.unit),u=function n(e){var r=v.read(t)()(e)(),u=a(r);return new b.Step(u,n,o)};return{buildWidget:function(n){return function(n){var e=v.read(t)()(n)(),r=a(e);return new b.Step(r,u,o)}},buildAttributes:D.buildProp(n),document:r}}}}(r)(i)(n),s=g.buildVDom(l)(o),d=b.extract(s);return u.void(f.functorEffect)(w.appendChild(d)(E.toNode(t)))(),{machine:s,node:d,renderChildRef:i}};if(s instanceof l.Just)return function(){v.write(a)(s.value0.renderChildRef)();var n=w.parentNode(s.value0.node)(),t=w.nextSibling(s.value0.node)(),r=b.step(s.value0.machine)(o),d=b.extract(r);return e.when(f.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(h.unsafeRefEq)(s.value0.node)(d))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(f.functorEffect)(w.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(f.functorEffect)(w.appendChild(n)(r.value0)):e.pure(f.applicativeEffect)(c.unit)}}}(d)(t)(n))(),{machine:r,node:d,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:A}}};n.runUI=function(n){return function(e){return function(t){return r.bind(s.bindAff)(d.liftEffect(s.monadEffectAff)(u.map(f.functorEffect)(M.toDocument)(r.bindFlipped(f.bindEffect)(C.document)(y.window))))(function(r){return p.runUI(T(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),M=e._mainImpl;n.main=M,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); },{"moment":"a2/B","marked":"3F7m","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index fdf62fd767131a06c39be6301491c672814cce36..6e766ca4c140da819720a3b290ce226340685343 100644 GIT binary patch delta 60748 zcmV(wKR*OOLp2> zmhH0S%&L-5dAbZl3%-4te99|U{VZ9-U^T1y%gxS4 zuY5Rxa|c|Pl$W0$kD9h~*0z_I>wk%ZS5q(H^%AT%HzW*7)K)b6UZyj_aHw%8LR9+l z`38K%h`&2k!A`G~#O{~Ee>W>? z%ALO#&X*#k4f3$*UO1OBA6-@hD0w`a1gO*mnB0)#Si=X2p}tKoY{3`Uoqq)R%-%R; z6^ithXGSxkxxpN7ab`u@G_N8xW_1=8wxWIJ@t@&Pyv6D3gv-dNChz!JVYz?@?DCbi z`>Xt)q63PAOVUlnyQN2&T;fcTrTa7v#G6;tru zJ*N!*k^YgDrs>e+a(w0KIBo~I^Bvv*dw7aa{a!2=e<8#)s_in>giTq87s&KVtQ|}e z(>wsm)V5b%-gdY0+t@7}yS86WqJMe|VecvG;3iM~1^aBw`dwx_aepS>!g7?(iEpuj z6x&{J$_n(0+TuH;HTGl8d(TLt*HMP=hY9^;4;X(g)CVFyzo6Vn@Y(-~vfz65-_tJ? zvqj0-%Q!g8E&Wh5PmZ5hZ-#b;aQakvEDv3!3|7^Y=iX~6o2i^}gPAY0Br1A|H_f6n zi;BzM$D`zAt}a#PCV$p0MC*!5YlZv?Ofj05kP@CNLWv8FG>o=Km^#5Yd)V^{hBB2O zD)vMPzv~1r#mO>meYQ#rCjS+wZlbwwN^zH(XhCh4YTSs@cJF}7c5j2ic3V={YyL8% zb!)-r#~3Z-&iQbW2(1yvFk=w|YJXs&@<>V+~=`4KHO(1!>rBkvgZ;tZLc zp0-LW311&_Z-2#qe@C(Oo;itE>=^Dajt)}xYiQhRwCy-w`os+Ndo_wmuQ{;iVIY{uBisWUrCu0sqezE%1QO7;`$|kE! zR`b=4b>TXzk$~(U4&J@33oWdy4LD>N0D)fpSR3V|VYVUwp0kUcFzL8ri0BY@g}lM; zF>kP9lz%Hn-|ruu{9WuYkOrSE?Q79kOt3`3A*;!g>ISFd}Zj(NI19tkTa$%>EQ#1VhWj*7weNg{g<>CsMq#7VIk(K zoAFavOS!0>@%i7}LabNUmG*{Mg0gZ7hZC5k{pSIqFdJFl=!;Y5e zf`6v)Iw^ytW))F|57GWF<~oH0Q(*;qEX~^+kl=x≫35PWgPpmbks|aqX*~h=5rb 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
'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n };\n var eqVoid = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqVoid\"] = eqVoid;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n };\n var ordVoid = new Ord(function () {\n return Data_Eq.eqVoid;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n exports[\"ordVoid\"] = ordVoid;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"when\"] = when;\n})(PS[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"sequence_\"] = sequence_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n\n exports.foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"foreachE\"] = $foreign.foreachE;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var requestHeaderValue = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 29, column 1 - line 29, column 46): \" + [ v.constructor.name ]);\n };\n var requestHeaderName = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 24, column 1 - line 24, column 45): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"requestHeaderName\"] = requestHeaderName;\n exports[\"requestHeaderValue\"] = requestHeaderValue;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n var fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n };\n exports[\"fromFoldable\"] = fromFoldable;\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n var responseHeader = function (field) {\n return function (value) {\n return new ResponseHeader(field, value);\n };\n };\n exports[\"responseHeader\"] = responseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = function ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 293, column 19 - line 299, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 267, column 20 - line 274, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.requestHeaderName)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.requestHeaderName(h),\n value: Affjax_RequestHeader.requestHeaderValue(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.responseHeader, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 247, column 3 - line 251, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var unOrdBox = function (v) {\n return v.value2;\n };\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"unOrdBox\"] = unOrdBox;\n exports[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new RefUpdate(value0, value1, value2);\n };\n };\n };\n return RefUpdate;\n })();\n var Query = (function () {\n function Query(value0) {\n this.value0 = value0;\n };\n Query.create = function (value0) {\n return new Query(value0);\n };\n return Query;\n })(); \n var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof RefUpdate) {\n return new RefUpdate(v.value0, v.value1, f(v.value2));\n };\n if (v instanceof Query) {\n return new Query(g(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): \" + [ v.constructor.name ]);\n };\n };\n });\n var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Query\"] = Query;\n exports[\"bifunctorInputF\"] = bifunctorInputF;\n exports[\"functorInputF\"] = functorInputF;\n})(PS[\"Halogen.Query.InputF\"] = PS[\"Halogen.Query.InputF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"]; \n var Step = (function () {\n function Step(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Step(value0, value1, value2);\n };\n };\n };\n return Step;\n })();\n var step = function (v) {\n return v.value1;\n };\n var halt = function (v) {\n return v.value2;\n };\n var extract = function (v) {\n return v.value0;\n };\n exports[\"Step\"] = Step;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var ElemSpec = (function () {\n function ElemSpec(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ElemSpec.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ElemSpec(value0, value1, value2);\n };\n };\n };\n return ElemSpec;\n })();\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return new Elem(value0, value1);\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return new Keyed(value0, value1);\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($90) {\n return f($90);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var functorElemSpec = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new ElemSpec(m.value0, m.value1, f(m.value2));\n };\n });\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($92) {\n return f(v.value0($92));\n }, function ($93) {\n return g(v.value1($93));\n }, v.value2));\n });\n };\n });\n var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));\n };\n return new Grafted(graft(new Graft(f, g, v)));\n };\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 74, column 7 - line 74, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"ElemSpec\"] = ElemSpec;\n exports[\"bifunctorVDom\"] = bifunctorVDom;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n exports[\"functorElemSpec\"] = functorElemSpec;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n exports[\"effectUnit\"] = effectUnit;\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 178, column 16 - line 185, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var functorProp = new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof Handler) {\n return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));\n };\n if (v instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));\n };\n return v;\n };\n });\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 165, column 5 - line 175, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var done = function (ps) {\n var v = Foreign_Object.lookup(\"ref\")(ps);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return function () {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n };\n return Halogen_VDom_Util.effectUnit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 109, column 5 - line 131, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patch = function (prevEvents, ps1) {\n return function (ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(prevEvents);\n var onThese = diffProp(prevEvents, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n };\n var render = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n return render;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n exports[\"functorProp\"] = functorProp;\n})(PS[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n }; \n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($27) {\n return HTML(Halogen_VDom_Types.Text.create($27));\n };\n var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var slot = function ($29) {\n return HTML(Halogen_VDom_Types.Widget.create($29));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($31) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($31));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($32) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));\n };\n };\n }; \n var onOffIsProp = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n }); \n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var inputTypeIsProp = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);\n };\n };\n };\n }; \n var buttonTypeIsProp = new IsProp(function ($44) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));\n });\n var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);\n };\n };\n }); \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"bifunctorHTML\"] = bifunctorHTML;\n exports[\"stringIsProp\"] = stringIsProp;\n exports[\"intIsProp\"] = intIsProp;\n exports[\"booleanIsProp\"] = booleanIsProp;\n exports[\"buttonTypeIsProp\"] = buttonTypeIsProp;\n exports[\"inputTypeIsProp\"] = inputTypeIsProp;\n exports[\"onOffIsProp\"] = onOffIsProp;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"];\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n exports[\"unCoyoneda\"] = unCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Listening = (function () {\n function Listening() {\n\n };\n Listening.value = new Listening();\n return Listening;\n })();\n var Done = (function () {\n function Done() {\n\n };\n Done.value = new Done();\n return Done;\n })();\n var unEventSource = function (v) {\n return v;\n };\n var eqSubscribeStatus = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Listening && y instanceof Listening) {\n return true;\n };\n if (x instanceof Done && y instanceof Done) {\n return true;\n };\n return false;\n };\n });\n exports[\"Listening\"] = Listening;\n exports[\"Done\"] = Done;\n exports[\"unEventSource\"] = unEventSource;\n exports[\"eqSubscribeStatus\"] = eqSubscribeStatus;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unFork = Unsafe_Coerce.unsafeCoerce;\n exports[\"unFork\"] = unFork;\n})(PS[\"Halogen.Query.ForkF\"] = PS[\"Halogen.Query.ForkF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var HalogenM = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Halt = (function () {\n function Halt(value0) {\n this.value0 = value0;\n };\n Halt.create = function (value0) {\n return new Halt(value0);\n };\n return Halt;\n })();\n var GetSlots = (function () {\n function GetSlots(value0) {\n this.value0 = value0;\n };\n GetSlots.create = function (value0) {\n return new GetSlots(value0);\n };\n return GetSlots;\n })();\n var CheckSlot = (function () {\n function CheckSlot(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CheckSlot.create = function (value0) {\n return function (value1) {\n return new CheckSlot(value0, value1);\n };\n };\n return CheckSlot;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return new ChildQuery(value0, value1);\n };\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0) {\n this.value0 = value0;\n };\n Fork.create = function (value0) {\n return new Fork(value0);\n };\n return Fork;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n }; \n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);\n };\n });\n var applyHalogenM = new Control_Apply.Apply(function () {\n return functorHalogenM;\n }, function (v) {\n return function (v1) {\n return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);\n };\n });\n var bindHalogenM = new Control_Bind.Bind(function () {\n return applyHalogenM;\n }, function (v) {\n return function (f) {\n return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {\n var v1 = f(x);\n return v1;\n });\n };\n }); \n var applicativeHalogenM = new Control_Applicative.Applicative(function () {\n return applyHalogenM;\n }, function (a) {\n return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);\n });\n var monadHalogenM = new Control_Monad.Monad(function () {\n return applicativeHalogenM;\n }, function () {\n return bindHalogenM;\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function (eff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function (aff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));\n });\n };\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($180) {\n return HalogenM(Control_Monad_Free.liftF(State.create($180)));\n });\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Lift\"] = Lift;\n exports[\"Halt\"] = Halt;\n exports[\"GetSlots\"] = GetSlots;\n exports[\"CheckSlot\"] = CheckSlot;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"getRef\"] = getRef;\n exports[\"raise\"] = raise;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applyHalogenM\"] = applyHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ComponentSlot.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ComponentSlot(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ComponentSlot;\n })();\n var unComponentSlot = function (f) {\n return function (cs) {\n return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);\n };\n };\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkComponentSlot = ComponentSlot.create;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var parentComponent = function (dictOrd) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)\n });\n };\n };\n var lifecycleComponent = function (dictBifunctor) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: spec.initializer,\n finalizer: spec.finalizer,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)\n });\n };\n }; \n var component = function (dictBifunctor) {\n return function (spec) {\n return lifecycleComponent(dictBifunctor)({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value\n });\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"component\"] = component;\n exports[\"lifecycleComponent\"] = lifecycleComponent;\n exports[\"parentComponent\"] = parentComponent;\n exports[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_InputF.RefUpdate(p, mel, Data_Unit.unit));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.booleanIsProp)(\"required\");\n var rows = prop(Halogen_HTML_Core.intIsProp)(\"rows\"); \n var target = prop(Halogen_HTML_Core.stringIsProp)(\"target\");\n var title = prop(Halogen_HTML_Core.stringIsProp)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.stringIsProp)(\"value\");\n var name = prop(Halogen_HTML_Core.stringIsProp)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.stringIsProp)(\"id\");\n var href = prop(Halogen_HTML_Core.stringIsProp)(\"href\");\n var $$for = prop(Halogen_HTML_Core.stringIsProp)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.stringIsProp)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.booleanIsProp)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.booleanIsProp)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.onOffIsProp)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var slot = function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n var f = Halogen_Component.unComponent(function (v) {\n return v.receiver;\n })(component);\n return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 610, column 1 - line 610, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 198, column 5 - line 198, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var keys = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 604, column 1 - line 604, column 38): \" + [ v.constructor.name ]);\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 94, column 1 - line 94, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 416, column 3 - line 421, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 413, column 1 - line 413, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 452, column 5 - line 457, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 449, column 3 - line 449, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 432, column 3 - line 432, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 509, column 9 - line 526, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 506, column 5 - line 526, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 538, column 5 - line 542, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 529, column 33 - line 533, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 479, column 34 - line 502, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 547, column 15 - line 549, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"keys\"] = keys;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toList = function (v) {\n return Data_Map_Internal.keys(v);\n };\n var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function ($65) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($66) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($67) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67));\n };\n };\n });\n exports[\"foldableSet\"] = foldableSet;\n})(PS[\"Data.Set\"] = PS[\"Data.Set\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Set = PS[\"Data.Set\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var keys = function ($0) {\n return Data_Functor[\"void\"](Data_Map_Internal.functorMap)($0);\n };\n exports[\"keys\"] = keys;\n})(PS[\"Data.Map\"] = PS[\"Data.Map\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($10) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($10));\n };\n var action = function (act) {\n return act(Data_Unit.unit);\n };\n exports[\"action\"] = action;\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var input_ = function (f) {\n return function (v) {\n return Data_Maybe.Just.create(Halogen_Query.action(f));\n };\n };\n var input = function (f) {\n return function (x) {\n return Data_Maybe.Just.create(Halogen_Query.action(f(x)));\n };\n };\n var handler = function (et) {\n return function ($1) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));\n };\n }; \n var onClick = function ($2) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));\n }; \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"input\"] = input;\n exports[\"input_\"] = input_;\n exports[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n UEditField.create = function (value0) {\n return function (value1) {\n return new UEditField(value0, value1);\n };\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n USubmit.create = function (value0) {\n return function (value1) {\n return new USubmit(value0, value1);\n };\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($22) {\n return Halogen_HTML_Events.input(UEditField.create)(f($22));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var $$eval = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1))))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(BEditField.create)(f($59));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $26 = v.bm.bid > 0;\n if ($26) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $27 = !v.destroyed;\n if ($27) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $31 = {};\n for (var $32 in v1) {\n if ({}.hasOwnProperty.call(v1, $32)) {\n $31[$32] = v1[$32];\n };\n };\n $31.deleteAsk = v.value0;\n return $31;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $37 = {};\n for (var $38 in v2) {\n if ({}.hasOwnProperty.call(v2, $38)) {\n $37[$38] = v2[$38];\n };\n };\n $37.destroyed = true;\n return $37;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BStar = (function () {\n function BStar(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BStar.create = function (value0) {\n return function (value1) {\n return new BStar(value0, value1);\n };\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEdit.create = function (value0) {\n return function (value1) {\n return new BEdit(value0, value1);\n };\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead(value0) {\n this.value0 = value0;\n };\n BMarkRead.create = function (value0) {\n return new BMarkRead(value0);\n };\n return BMarkRead;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $34 = {};\n for (var $35 in v1) {\n if ({}.hasOwnProperty.call(v1, $35)) {\n $34[$35] = v1[$35];\n };\n };\n $34.deleteAsk = v.value0;\n return $34;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($64) {\n return Halogen_HTML_Events.input(BEditField.create)(f($64));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $59 = Data_String_Common[\"null\"](v.bm.title);\n if ($59) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($60) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new HandleBMessage(value0, value1, value2);\n };\n };\n };\n return HandleBMessage;\n })();\n var blist = function (st) {\n var render = function (bms) {\n var renderBookmark = function (b) {\n return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));\n };\n var $$eval = function (v) {\n var removeBookmark = function (bookmarkId) {\n return Data_Array.filter(function (b) {\n return b.bid !== bookmarkId;\n });\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);\n });\n };\n return Halogen_Component.parentComponent(Data_Ord.ordInt)({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML(value0) {\n this.value0 = value0;\n };\n SetInnerHTML.create = function (value0) {\n return new SetInnerHTML(value0);\n };\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var $$eval = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return $$eval(new SetInnerHTML(v.value1));\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": $$eval,\n receiver: Halogen_HTML_Events.input(Receive.create),\n initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)),\n finalizer: Data_Maybe.Nothing.value\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop(value0) {\n this.value0 = value0;\n };\n NNop.create = function (value0) {\n return new NNop(value0);\n };\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditField.create = function (value0) {\n return function (value1) {\n return new NEditField(value0, value1);\n };\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditSubmit.create = function (value0) {\n return function (value1) {\n return new NEditSubmit(value0, value1);\n };\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEdit.create = function (value0) {\n return function (value1) {\n return new NEdit(value0, value1);\n };\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NDeleteAsk.create = function (value0) {\n return function (value1) {\n return new NDeleteAsk(value0, value1);\n };\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy(value0) {\n this.value0 = value0;\n };\n NDestroy.create = function (value0) {\n return new NDestroy(value0);\n };\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $24 = Data_String_Common[\"null\"](v.note.title);\n if ($24) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(NEditField.create)(f($59));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var $$eval = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n if (v instanceof NEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $44 = {};\n for (var $45 in v2) {\n if ({}.hasOwnProperty.call(v2, $45)) {\n $44[$45] = v2[$45];\n };\n };\n $44.destroyed = true;\n return $44;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n };\n if (v2.body instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var $55 = v1.id === 0;\n if ($55) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.parentComponent(Data_Ord.ordUnit)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = function (v) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(st.prjQuery)(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (prjQuery) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v3 = Effect_Ref[\"new\"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v6 = Effect_Ref[\"new\"](0)();\n var v7 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Data_Map_Internal.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handler: handler,\n pendingQueries: v3,\n pendingOuts: v4,\n pendingHandlers: v5,\n rendering: Data_Maybe.Nothing.value,\n prjQuery: prjQuery,\n fresh: v6,\n subscriptions: v7,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n };\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Set = PS[\"Data.Set\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var queuingHandler = function (handler) {\n return function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return handler(message);\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): \" + [ v.constructor.name ]);\n });\n };\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var $$eval = function (render) {\n return function (r) {\n var go = function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n var v2 = v.value0(v1.state);\n if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v1.component,\n state: v2.value1,\n refs: v1.refs,\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): \" + [ v2.constructor.name ]);\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: i\n };\n })(v1.fresh)))(function (v3) {\n var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v4) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {\n return done$prime;\n });\n });\n });\n })))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Lift) {\n return v.value0;\n };\n if (v instanceof Halogen_Query_HalogenM.Halt) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));\n };\n if (v instanceof Halogen_Query_HalogenM.GetSlots) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.CheckSlot) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v.value0)(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));\n })(v.value0)));\n };\n if (v instanceof Halogen_Query_HalogenM.Fork) {\n return Halogen_Query_ForkF.unFork(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));\n });\n })(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): \" + [ v.constructor.name ]);\n };\n };\n var evalM = function (ref) {\n return function (v) {\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);\n };\n };\n var evalF = function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = v[\"component\"][\"eval\"](q);\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);\n });\n };\n };\n var evalChildQuery = function (ref) {\n return function (p) {\n return Data_Coyoneda.unCoyoneda(function (k) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n var v3 = ds.prjQuery(q);\n if (v3 instanceof Data_Maybe.Just) {\n return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Query projection failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): \" + [ v3.constructor.name ]);\n })(v2);\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Slot lookup failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): \" + [ v1.constructor.name ]);\n });\n };\n });\n };\n };\n return function (v) {\n if (v instanceof Halogen_Query_InputF.RefUpdate) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {\n return {\n component: v1.component,\n state: v1.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(v1.refs),\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n };\n })(r)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);\n });\n };\n if (v instanceof Halogen_Query_InputF.Query) {\n return evalF(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"eval\"] = $$eval;\n exports[\"queuingHandler\"] = queuingHandler;\n})(PS[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));\n })();\n };\n };\n var cleanupSubscriptions = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));\n }))(Effect_Ref.read(v.subscriptions))();\n return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));\n })(st.component.initializer);\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return function (prjQuery) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($66));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (mkOrdBox) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (p) {\n return function (ctor) {\n return function (input) {\n return function (inputQuery) {\n return function (outputQuery) {\n return function (prjQuery) {\n var ordP = mkOrdBox(p);\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {\n return function __do() {\n var v2 = Effect_Ref.read(v1.value0.value0)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {\n return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));\n });\n })(v2)();\n };\n })();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)(function ($68) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));\n })(input)(prjQuery)(ctor)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n };\n };\n };\n };\n };\n });\n };\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));\n })(v.pendingHandlers);\n var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {\n return handler(Halogen_Query_InputF.Query.create($70));\n })(v.pendingQueries);\n var v2 = renderSpec.render(function ($71) {\n return handleAff(handler($71));\n })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {\n return function __do() {\n var v4 = Effect_Ref.read(childVar)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();\n return finalize(lchs)(v4)();\n };\n }))();\n Effect_Ref.modify_(function (v4) {\n return {\n rendering: new Data_Maybe.Just(v2),\n children: v3,\n component: v4.component,\n state: v4.state,\n refs: v4.refs,\n childrenIn: v4.childrenIn,\n childrenOut: v4.childrenOut,\n selfRef: v4.selfRef,\n handler: v4.handler,\n pendingQueries: v4.pendingQueries,\n pendingOuts: v4.pendingOuts,\n pendingHandlers: v4.pendingHandlers,\n prjQuery: v4.prjQuery,\n fresh: v4.fresh,\n subscriptions: v4.subscriptions,\n lifecycleHandlers: v4.lifecycleHandlers\n };\n })(v.selfRef)();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {\n return function __do() {\n var v5 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));\n })(v5)();\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n var $57 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v6);\n if ($57) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptions(st)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));\n })(st.component.finalizer))(function (f) {\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs);\n })();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();\n };\n });\n };\n var evalF = function (ref) {\n return Halogen_Aff_Driver_Eval[\"eval\"](render)(ref);\n };\n var evalDriver = function (ref) {\n return function (prjQuery) {\n return function (q) {\n var v = prjQuery(q);\n if (v instanceof Data_Maybe.Just) {\n return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));\n };\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error(\"Halogen internal error: query projection failed in runUI'\")));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): \" + [ v.constructor.name ]);\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(st.selfRef)(st.prjQuery),\n subscribe: subscribe(v1)(v2)\n });\n }))();\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var eqElemSpec = function (a, b) {\n if (a.value1 === b.value1) {\n if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {\n return true;\n };\n if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var buildWidget = (function () {\n var patch = function (build, v) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Widget) {\n var v2 = v.value1(v1.value0);\n return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);\n };\n v.value2();\n return build(v1);\n };\n };\n var render = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);\n };\n return render;\n })();\n var buildText = (function () {\n var patch = function (build, halt, node, s1) {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));\n };\n if (v instanceof Halogen_VDom_Types.Text) {\n var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);\n var $84 = s1 === v.value0;\n if ($84) {\n return res;\n };\n Halogen_VDom_Util.setTextContent(v.value0, node);\n return res;\n };\n halt();\n return build(v);\n };\n };\n var done = function (node) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n return Halogen_VDom_Util.removeChild(node, v);\n };\n };\n var render = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var halt = done(v1);\n return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);\n };\n return render;\n })();\n var buildKeyed = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Halogen_VDom_Util.forInE(steps, function (v1, v2) {\n return v2.value2();\n });\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1, len1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n if (len1 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);\n };\n var onThis = function (v4, v5) {\n return v5.value2();\n };\n var onThese = function (v4, ix$prime, v5, v6) {\n var v7 = v5.value1(v6.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);\n return v7;\n };\n var onThat = function (v4, ix, v5) {\n var v6 = build(v5.value1);\n Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);\n return v6;\n };\n var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (k, ix, v3) {\n var v4 = build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);\n };\n return render;\n })();\n var buildElem = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n var v3 = Data_Array.length(ch1);\n if (v3 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);\n };\n var onThis = function (ix, v4) {\n return v4.value2();\n };\n var onThese = function (ix, v4, vdom) {\n var v5 = v4.value1(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);\n return v5;\n };\n var onThat = function (ix, vdom) {\n var v4 = build(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (ix, child) {\n var v3 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);\n return v3;\n };\n var v3 = Halogen_VDom_Util.forE(ch1, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);\n };\n return render;\n })();\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n var patch = function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n var buildWidget = function (spec) {\n return function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/lib/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["root","block","newline","code","fences","noop","hr","heading","nptable","blockquote","list","html","def","table","lheading","paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","lexer","prototype","token","top","next","loose","cap","bull","b","listStart","listItems","t","space","i","tag","l","isordered","istask","ischecked","exec","substring","length","push","type","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","indexOf","RegExp","smartLists","slice","join","charAt","undefined","task","checked","sanitize","pre","sanitizer","toLowerCase","href","title","Error","charCodeAt","inline","escape","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","_","n","String","fromCharCode","parseInt","regex","opt","name","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","resolveUrl","baseUrls","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","out","prevCapZero","inLink","inRawBlock","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","parser","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","hasOwnProperty","originalSlug","obj","target","key","arguments","call","tableRow","count","offset","str","curr","splice","c","invert","suffLen","currChar","substr","callback","pending","done","err","message","setOptions","getDefaults","inlineLexer","module","exports","define","amd","window","global","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","Item","array","nextTick","args","Array","apply","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","require","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","urllib","u","protocol","hostname","format","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msg","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","map","responseType","withCredentials","send","error","cancelErrback","cancelCallback","abort","fromObject","id","x","stringify","JSON","refEq","r1","r2","boolConj","b1","b2","boolDisj","boolNot","$foreign","SProxy","reflectSymbol","dict","unit","showIntImpl","unsafeGet","label","rec","RLProxy","Show","show","showInt","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","a","dictHeytingAlgebra","f","g","v","spin","$copy_v","$tco_result","Eq","eq","eqVoid","v1","eqUnit","eqString","eqInt","eqChar","Semigroupoid","compose","semigroupoidFn","Control_Semigroupoid","Category","Semigroupoid0","identity","categoryFn","unsafeCompareImpl","lt","gt","y","concatString","s1","s2","concatArray","xs","ys","Semigroup","append","semigroupString","semigroupArray","dictSemigroup","Data_Eq","LT","GT","EQ","Data_Ordering","unsafeCompare","intSub","intAdd","intMul","Semiring","add","mul","one","zero","semiringInt","Data_Semiring","Ring","Semiring0","sub","ringInt","Data_Ord_Unsafe","Ord","Eq0","compare","ordVoid","ordUnit","ordString","ordInt","ordChar","runFn4","fn","d","arrayMap","arr","result","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","Functor0","alt","arrayApply","fs","k","Control_Category","Data_Functor","Apply","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","constructor","arrayBind","Bind","bind","Discard","discard","bindArray","bindFlipped","dictBind","flip","discardUnit","m","Control_Applicative","Control_Bind","Applicative0","Bind1","dictMonad","Alt0","empty","topInt","bottomInt","topChar","bottomChar","Data_Ord","Bounded","Ord0","bottom","boundedInt","boundedChar","intDegree","min","abs","intDiv","floor","intMod","yy","Data_Ring","CommutativeRing","Ring0","commutativeRingInt","Data_CommutativeRing","EuclideanRing","CommutativeRing0","degree","div","mod","euclideanRingInt","Data_Boolean","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","semigroupFn","Control_Alt","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","dictPartial","_lookup","no","yes","cons","snoc","l1","xss","s","drop","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$80","Data_Maybe","Data_Newtype","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$195","applySecond","foldableMaybe","z","foldMapDefaultR","foldableArray","alaF","monoidDisj","p","Data_Bifunctor","Left","Right","functorEither","bifunctorEither","Bifunctor","applyEither","Control_Monad","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","Applicative","monadIdentity","Monad","pureE","bindE","foreachE","as","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","ap","liftA1","new","read","ref","state","write","Effect","modify","s$prime","unsafePartial","crashWith","Partial","Effect_Ref","Loop","Done","MonadRec","Monad0","tailRecM","monadRecEffect","fromDone","Tuple","value1","functorTuple","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","Unfoldable1","unfoldr1","unfoldable1Array","Data_Unfoldable1","Unfoldable","Unfoldable10","unfoldr","unfoldableArray","unsafeCoerce","singleton","concatMap","$114","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","s3","replaceAll","sep","joinWith","unsafeStringify","unsafeDecodeURIComponent","unsafeEncodeURIComponent","encodeURIComponent","encodePart","Data_String_Common","Global_Unsafe","toArray","$14","MediaType","newtypeMediaType","Data_Argonaut_Core","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","Data_MediaType","Accept","ContentType","RequestHeader","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","throwException","$1","Data_Either","catchError","throwError","MonadThrow0","dictMonadError","$21","dictMonadState","lift","liftEffect","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","applicativeExceptT","bindExceptT","applyExceptT","either","$97","$98","MonadThrow","$102","Control_Monad_Except_Trans","Data_Identity","$0","runExceptT","Control_Plus","NonEmpty","dictPlus","Data_Foldable","Nil","Cons","foldableList","$174","go","$copy_b","$tco_var_b","$tco_done","$tco_loop","rev","$175","functorList","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","$copy_acc","Data_List_Types","$tco_var_acc","Data_NonEmpty","$165","NonEmptyList","Data_List_NonEmpty","ForeignError","TypeMismatch","fail","$107","monadThrowExceptT","unsafeReadTagged","otherwise","readBoolean","readString","ResponseFormatError","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","parallel","sequential","Applicative1","Control_Alternative","Control_Parallel_Class","parTraverse_","dictParallel","$17","$18","_jsonParser","succ","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","unCustomMethod","showMethod","print","nullable","r","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","_makeFiber","_sequential","unsafePerformEffect","Control_Monad_Rec_Class","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","Canceler","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","MonadEffect","effectCanceler","$50","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","runAff","$52","parallelAff","Parallel","applicativeParAff","$54","monadRecAff","Effect_Aff","$4","$5","k2","$6","$7","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","Data_Argonaut_Parser","Data_Array","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","defaultRequest","responseFormat","req","parseJSON","reqContent","fromResponse$prime","composeKleisliFlipped","$67","$66","jsonParser","addHeader","mh","hs","any","req$prime","h","toMediaType","toResponseType","fromEffectFnAff","runExcept","moment","_app","app","_mmoment8601","just","nothing","ISO_8601","fromNow","_closeWindow","close","unsafeReadPropImpl","readProp","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","Record","Record_Builder","Type_Data_RowList","WriteForeign","writeImpl","WriteForeignFields","writeImplFields","writeForeignString","writeForeignInt","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$85","$87","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","_querySelector","selector","node","querySelector","qs","$3","eventListener","event","_currentTarget","currentTarget","preventDefault","toCharCode","Data_Bounded","Enum","pred","BoundedEnum","Bounded0","Enum1","cardinality","fromEnum","toEnum","defaultSucc","toEnum$prime","fromEnum$prime","defaultPred","charToEnum","enumChar","boundedEnumChar","dictBoundedEnum","low","high","_read","removeAttribute","element","toNode","toElement","toParentNode","toDocument","location","setHref","search","reload","document","win","Affjax","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","Forget","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","view","viewOn","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","OrdBox","value2","eqOrdBox","ordOrdBox","dictOrd","ButtonButton","ButtonSubmit","ButtonReset","On","Off","RefUpdate","Query","bifunctorInputF","functorInputF","rmap","Step","ElemSpec","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$90","graft","functorElemSpec","bifunctorGraft","$92","$93","bifunctorVDom","runGraft","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forInE","o","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","getEffProp","_parentNode","_nextSibling","node1","node2","parent","appendChild","$2","Foreign_Object_ST","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","effectUnit","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","functorProp","removeProp","prevEvents","removeProperty","mbEmit","ps","applyProp","events","v3","v4","v5","patch","ps1","ps2","onThis","onThese","v11","$61","elVal","$70","diffProp","onThat","render","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_Query_InputF","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","ClassName","IsProp","toPropValue","stringIsProp","onOffIsProp","$35","renderOnOff","newtypeClassName","intIsProp","inputTypeIsProp","$40","renderInputType","buttonTypeIsProp","$44","renderButtonType","booleanIsProp","bifunctorHTML","props","children","dictIsProp","$32","$31","Lift","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","$37","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$copy_v1","$tco_var_v","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","$118","freeApply","$119","$120","dictMonadRec","runExpF","concatF","toView","$127","runExists","mkExists","Data_Exists","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","$104","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","fa","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","me","monadRecFreeT","fuseWithL","dictFunctor2","zap","gs","fuseWith","lift2","functorAwait","bifunctorEmit","functorEmit","liftFreeT","runFreeT","$186","recv","monadTransFreeT","voidLeft","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","take","put","$11","Listening","eqSubscribeStatus","unFork","Control_Monad_Free","Effect_Aff_Class","HalogenM","State","Subscribe","Halt","GetSlots","CheckSlot","ChildQuery","Raise","Par","GetRef","functorHalogenM","applyHalogenM","bindHalogenM","applicativeHalogenM","monadHalogenM","monadEffectHalogenM","dictMonadEffect","liftF","monadStateHalogenM","MonadState","$180","dictMonadAff","Halogen_Data_OrdBox","ComponentSlot","value3","value4","value5","unComponent","mkComponentSlot","mkComponent","lifecycleComponent","spec","initialState","receiver","initializer","finalizer","mkOrdBox","cs","Halogen_HTML_Core","$10","mel","prop","required","rows","id_","$$for","autofocus","$13","form","span","tbody","tbody_","td","td_","tr","tr_","div_","button","br_","es","Halogen_Component","component","input","outputQuery","slot","Leaf","Two","Three","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","values","comp","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","tree","up","$copy_ctx","$copy_v2","$tco_var_v1","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","Data_Map_Internal","toList","foldableSet","$65","Halogen_Query_HalogenM","Web_HTML_HTMLElement","act","fromElement","getRef","Foreign_Index","Halogen_Query","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onSubmit","addForeignPropHandler","reader","composeKleisli","onChecked","change","onValueChange","click","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","$26","toCodePointArray","$53","toEnumWithDefaults","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","_parseQueryString","srh","decode","srh$prime","$59","mapMaybe","kv","_loc","$58","class_","find","$57","fromMaybe","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","editField","$22","type_","archiveDefault","privateDefault","privacyLock","$$eval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","_bm","b$prime","toTextarea","mmoment","mmoment8601","time","display_exists","onClick","input_","guard","display_edit","textarea","description","autocomplete","tags","toread","display_destroyed","modify_","destroy","$38","selected","archiveUrl","editBookmark","assign","closeWindow","BStar","BEdit","BMarkRead","BNotifyRemove","_edit","mkState","star","dat","isowner","linkToFilterTag","fromNullableStr","userR","$64","display","monoidFn","toggleStar","$34","raise","markRead","Component_BMark","Halogen_HTML","HandleBMessage","st","parentComponent","bms","bmark","removeBookmark","bookmarkId","unsafeSetInnerHTML","innerHTML","SetInnerHTML","Receive","toRawHTML","inputval","elRef","getHTMLElementRef","for_","$12","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Component_Markdown","Data_Void","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_edit_note","note$prime","renderNote","isMarkdown","absurd","renderNote_edit","updated","$39","destroyNote","$45","editNote","noteR","MonadFork","Functor1","fork","suspend","monadForkAff","warn","unRenderStateX","unDriverStateX","mkDriverStateXRef","mkRenderStateX","prjQuery","rendering","lchs","v6","v7","ds","refs","childrenIn","childrenOut","selfRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","lifecycleHandlers","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Control_Parallel","Data_Coyoneda","Data_Map","Data_Set","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_EventSource","Halogen_Query_ForkF","Unsafe_Reference","queuingHandler","handleLifecycle","initializers","finalizers","parSequence_","unEventSource","done$prime","when","member","consumer","evalF","runProcess","pullFrom","producer","unOrdBox","fromFoldable","evalChildQuery","retractFreeAp","hoistFreeAp","$103","evalM","killFiber","foldFree","unCoyoneda","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","renderSpec","subscribe","handlePending","$63","runComponent","initDriverState","preInits","parentInitializer","handlers","sequence_","squashChildInitializers","$$var","$69","childHandler","$71","childrenInRef","childrenOutRef","unComponentSlot","ctor","inputQuery","ordP","$68","renderStateX","renderChild","childVar","finalize","renderStateX_","$72","$73","query","connect","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","eqElemSpec","buildWidget","w","buildText","halt","res","$84","buildKeyed","attrs","ch1","buildAttributes","len1","halt$prime","ix$prime","buildElem","child","vdom","Halogen_Aff_Driver","Halogen_VDom_DOM","Web_DOM_Node","pn","container","renderChildRef","getNode","buildProp","mkSpec","buildVDom","extract","machine","nextSibling","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Halogen_Aff_Util","Halogen_VDom_Driver","showFooter","selectElement","main","logout","renderElSelector","bmarks","blist","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.map","sourceRoot":"","sourcesContent":["//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^
    /i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n };\n var eqVoid = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqVoid\"] = eqVoid;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n };\n var ordVoid = new Ord(function () {\n return Data_Eq.eqVoid;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n exports[\"ordVoid\"] = ordVoid;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"when\"] = when;\n})(PS[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"sequence_\"] = sequence_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n\n exports.foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"foreachE\"] = $foreign.foreachE;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n var fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n };\n exports[\"fromFoldable\"] = fromFoldable;\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = function ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var unOrdBox = function (v) {\n return v.value2;\n };\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"unOrdBox\"] = unOrdBox;\n exports[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new RefUpdate(value0, value1, value2);\n };\n };\n };\n return RefUpdate;\n })();\n var Query = (function () {\n function Query(value0) {\n this.value0 = value0;\n };\n Query.create = function (value0) {\n return new Query(value0);\n };\n return Query;\n })(); \n var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof RefUpdate) {\n return new RefUpdate(v.value0, v.value1, f(v.value2));\n };\n if (v instanceof Query) {\n return new Query(g(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): \" + [ v.constructor.name ]);\n };\n };\n });\n var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Query\"] = Query;\n exports[\"bifunctorInputF\"] = bifunctorInputF;\n exports[\"functorInputF\"] = functorInputF;\n})(PS[\"Halogen.Query.InputF\"] = PS[\"Halogen.Query.InputF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"]; \n var Step = (function () {\n function Step(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Step(value0, value1, value2);\n };\n };\n };\n return Step;\n })();\n var step = function (v) {\n return v.value1;\n };\n var halt = function (v) {\n return v.value2;\n };\n var extract = function (v) {\n return v.value0;\n };\n exports[\"Step\"] = Step;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var ElemSpec = (function () {\n function ElemSpec(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ElemSpec.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ElemSpec(value0, value1, value2);\n };\n };\n };\n return ElemSpec;\n })();\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return new Elem(value0, value1);\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return new Keyed(value0, value1);\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($90) {\n return f($90);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var functorElemSpec = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new ElemSpec(m.value0, m.value1, f(m.value2));\n };\n });\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($92) {\n return f(v.value0($92));\n }, function ($93) {\n return g(v.value1($93));\n }, v.value2));\n });\n };\n });\n var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));\n };\n return new Grafted(graft(new Graft(f, g, v)));\n };\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 74, column 7 - line 74, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"ElemSpec\"] = ElemSpec;\n exports[\"bifunctorVDom\"] = bifunctorVDom;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n exports[\"functorElemSpec\"] = functorElemSpec;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n exports[\"effectUnit\"] = effectUnit;\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 178, column 16 - line 185, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var functorProp = new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof Handler) {\n return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));\n };\n if (v instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));\n };\n return v;\n };\n });\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 165, column 5 - line 175, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var done = function (ps) {\n var v = Foreign_Object.lookup(\"ref\")(ps);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return function () {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n };\n return Halogen_VDom_Util.effectUnit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 109, column 5 - line 131, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patch = function (prevEvents, ps1) {\n return function (ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(prevEvents);\n var onThese = diffProp(prevEvents, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n };\n var render = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n return render;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n exports[\"functorProp\"] = functorProp;\n})(PS[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n }; \n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($27) {\n return HTML(Halogen_VDom_Types.Text.create($27));\n };\n var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var slot = function ($29) {\n return HTML(Halogen_VDom_Types.Widget.create($29));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($31) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($31));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($32) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));\n };\n };\n }; \n var onOffIsProp = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n }); \n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var inputTypeIsProp = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);\n };\n };\n };\n }; \n var buttonTypeIsProp = new IsProp(function ($44) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));\n });\n var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);\n };\n };\n }); \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"bifunctorHTML\"] = bifunctorHTML;\n exports[\"stringIsProp\"] = stringIsProp;\n exports[\"intIsProp\"] = intIsProp;\n exports[\"booleanIsProp\"] = booleanIsProp;\n exports[\"buttonTypeIsProp\"] = buttonTypeIsProp;\n exports[\"inputTypeIsProp\"] = inputTypeIsProp;\n exports[\"onOffIsProp\"] = onOffIsProp;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"];\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n exports[\"unCoyoneda\"] = unCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Listening = (function () {\n function Listening() {\n\n };\n Listening.value = new Listening();\n return Listening;\n })();\n var Done = (function () {\n function Done() {\n\n };\n Done.value = new Done();\n return Done;\n })();\n var unEventSource = function (v) {\n return v;\n };\n var eqSubscribeStatus = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Listening && y instanceof Listening) {\n return true;\n };\n if (x instanceof Done && y instanceof Done) {\n return true;\n };\n return false;\n };\n });\n exports[\"Listening\"] = Listening;\n exports[\"Done\"] = Done;\n exports[\"unEventSource\"] = unEventSource;\n exports[\"eqSubscribeStatus\"] = eqSubscribeStatus;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unFork = Unsafe_Coerce.unsafeCoerce;\n exports[\"unFork\"] = unFork;\n})(PS[\"Halogen.Query.ForkF\"] = PS[\"Halogen.Query.ForkF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var HalogenM = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Halt = (function () {\n function Halt(value0) {\n this.value0 = value0;\n };\n Halt.create = function (value0) {\n return new Halt(value0);\n };\n return Halt;\n })();\n var GetSlots = (function () {\n function GetSlots(value0) {\n this.value0 = value0;\n };\n GetSlots.create = function (value0) {\n return new GetSlots(value0);\n };\n return GetSlots;\n })();\n var CheckSlot = (function () {\n function CheckSlot(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CheckSlot.create = function (value0) {\n return function (value1) {\n return new CheckSlot(value0, value1);\n };\n };\n return CheckSlot;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return new ChildQuery(value0, value1);\n };\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0) {\n this.value0 = value0;\n };\n Fork.create = function (value0) {\n return new Fork(value0);\n };\n return Fork;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n }; \n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);\n };\n });\n var applyHalogenM = new Control_Apply.Apply(function () {\n return functorHalogenM;\n }, function (v) {\n return function (v1) {\n return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);\n };\n });\n var bindHalogenM = new Control_Bind.Bind(function () {\n return applyHalogenM;\n }, function (v) {\n return function (f) {\n return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {\n var v1 = f(x);\n return v1;\n });\n };\n }); \n var applicativeHalogenM = new Control_Applicative.Applicative(function () {\n return applyHalogenM;\n }, function (a) {\n return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);\n });\n var monadHalogenM = new Control_Monad.Monad(function () {\n return applicativeHalogenM;\n }, function () {\n return bindHalogenM;\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function (eff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function (aff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));\n });\n };\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($180) {\n return HalogenM(Control_Monad_Free.liftF(State.create($180)));\n });\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Lift\"] = Lift;\n exports[\"Halt\"] = Halt;\n exports[\"GetSlots\"] = GetSlots;\n exports[\"CheckSlot\"] = CheckSlot;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"getRef\"] = getRef;\n exports[\"raise\"] = raise;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applyHalogenM\"] = applyHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ComponentSlot.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ComponentSlot(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ComponentSlot;\n })();\n var unComponentSlot = function (f) {\n return function (cs) {\n return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);\n };\n };\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkComponentSlot = ComponentSlot.create;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var parentComponent = function (dictOrd) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)\n });\n };\n };\n var lifecycleComponent = function (dictBifunctor) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: spec.initializer,\n finalizer: spec.finalizer,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)\n });\n };\n }; \n var component = function (dictBifunctor) {\n return function (spec) {\n return lifecycleComponent(dictBifunctor)({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value\n });\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"component\"] = component;\n exports[\"lifecycleComponent\"] = lifecycleComponent;\n exports[\"parentComponent\"] = parentComponent;\n exports[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_InputF.RefUpdate(p, mel, Data_Unit.unit));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.booleanIsProp)(\"required\");\n var rows = prop(Halogen_HTML_Core.intIsProp)(\"rows\"); \n var target = prop(Halogen_HTML_Core.stringIsProp)(\"target\");\n var title = prop(Halogen_HTML_Core.stringIsProp)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.stringIsProp)(\"value\");\n var name = prop(Halogen_HTML_Core.stringIsProp)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.stringIsProp)(\"id\");\n var href = prop(Halogen_HTML_Core.stringIsProp)(\"href\");\n var $$for = prop(Halogen_HTML_Core.stringIsProp)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.stringIsProp)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.booleanIsProp)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.booleanIsProp)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.onOffIsProp)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var slot = function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n var f = Halogen_Component.unComponent(function (v) {\n return v.receiver;\n })(component);\n return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var keys = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 606, column 1 - line 606, column 38): \" + [ v.constructor.name ]);\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"keys\"] = keys;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toList = function (v) {\n return Data_Map_Internal.keys(v);\n };\n var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function ($65) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($66) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($67) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67));\n };\n };\n });\n exports[\"foldableSet\"] = foldableSet;\n})(PS[\"Data.Set\"] = PS[\"Data.Set\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Set = PS[\"Data.Set\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var keys = function ($0) {\n return Data_Functor[\"void\"](Data_Map_Internal.functorMap)($0);\n };\n exports[\"keys\"] = keys;\n})(PS[\"Data.Map\"] = PS[\"Data.Map\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($10) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($10));\n };\n var action = function (act) {\n return act(Data_Unit.unit);\n };\n exports[\"action\"] = action;\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var input_ = function (f) {\n return function (v) {\n return Data_Maybe.Just.create(Halogen_Query.action(f));\n };\n };\n var input = function (f) {\n return function (x) {\n return Data_Maybe.Just.create(Halogen_Query.action(f(x)));\n };\n };\n var handler = function (et) {\n return function ($1) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));\n };\n }; \n var onClick = function ($2) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));\n }; \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"input\"] = input;\n exports[\"input_\"] = input_;\n exports[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n UEditField.create = function (value0) {\n return function (value1) {\n return new UEditField(value0, value1);\n };\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n USubmit.create = function (value0) {\n return function (value1) {\n return new USubmit(value0, value1);\n };\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($22) {\n return Halogen_HTML_Events.input(UEditField.create)(f($22));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var $$eval = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1))))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(BEditField.create)(f($59));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $26 = v.bm.bid > 0;\n if ($26) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $27 = !v.destroyed;\n if ($27) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $31 = {};\n for (var $32 in v1) {\n if ({}.hasOwnProperty.call(v1, $32)) {\n $31[$32] = v1[$32];\n };\n };\n $31.deleteAsk = v.value0;\n return $31;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $37 = {};\n for (var $38 in v2) {\n if ({}.hasOwnProperty.call(v2, $38)) {\n $37[$38] = v2[$38];\n };\n };\n $37.destroyed = true;\n return $37;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BStar = (function () {\n function BStar(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BStar.create = function (value0) {\n return function (value1) {\n return new BStar(value0, value1);\n };\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEdit.create = function (value0) {\n return function (value1) {\n return new BEdit(value0, value1);\n };\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead(value0) {\n this.value0 = value0;\n };\n BMarkRead.create = function (value0) {\n return new BMarkRead(value0);\n };\n return BMarkRead;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $34 = {};\n for (var $35 in v1) {\n if ({}.hasOwnProperty.call(v1, $35)) {\n $34[$35] = v1[$35];\n };\n };\n $34.deleteAsk = v.value0;\n return $34;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($64) {\n return Halogen_HTML_Events.input(BEditField.create)(f($64));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $59 = Data_String_Common[\"null\"](v.bm.title);\n if ($59) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($60) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new HandleBMessage(value0, value1, value2);\n };\n };\n };\n return HandleBMessage;\n })();\n var blist = function (st) {\n var render = function (bms) {\n var renderBookmark = function (b) {\n return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));\n };\n var $$eval = function (v) {\n var removeBookmark = function (bookmarkId) {\n return Data_Array.filter(function (b) {\n return b.bid !== bookmarkId;\n });\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);\n });\n };\n return Halogen_Component.parentComponent(Data_Ord.ordInt)({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML(value0) {\n this.value0 = value0;\n };\n SetInnerHTML.create = function (value0) {\n return new SetInnerHTML(value0);\n };\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var $$eval = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return $$eval(new SetInnerHTML(v.value1));\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": $$eval,\n receiver: Halogen_HTML_Events.input(Receive.create),\n initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)),\n finalizer: Data_Maybe.Nothing.value\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop(value0) {\n this.value0 = value0;\n };\n NNop.create = function (value0) {\n return new NNop(value0);\n };\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditField.create = function (value0) {\n return function (value1) {\n return new NEditField(value0, value1);\n };\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditSubmit.create = function (value0) {\n return function (value1) {\n return new NEditSubmit(value0, value1);\n };\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEdit.create = function (value0) {\n return function (value1) {\n return new NEdit(value0, value1);\n };\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NDeleteAsk.create = function (value0) {\n return function (value1) {\n return new NDeleteAsk(value0, value1);\n };\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy(value0) {\n this.value0 = value0;\n };\n NDestroy.create = function (value0) {\n return new NDestroy(value0);\n };\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $24 = Data_String_Common[\"null\"](v.note.title);\n if ($24) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(NEditField.create)(f($59));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var $$eval = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n if (v instanceof NEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $44 = {};\n for (var $45 in v2) {\n if ({}.hasOwnProperty.call(v2, $45)) {\n $44[$45] = v2[$45];\n };\n };\n $44.destroyed = true;\n return $44;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n };\n if (v2.body instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var $55 = v1.id === 0;\n if ($55) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.parentComponent(Data_Ord.ordUnit)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = function (v) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(st.prjQuery)(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (prjQuery) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v3 = Effect_Ref[\"new\"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v6 = Effect_Ref[\"new\"](0)();\n var v7 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Data_Map_Internal.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handler: handler,\n pendingQueries: v3,\n pendingOuts: v4,\n pendingHandlers: v5,\n rendering: Data_Maybe.Nothing.value,\n prjQuery: prjQuery,\n fresh: v6,\n subscriptions: v7,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n };\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Set = PS[\"Data.Set\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var queuingHandler = function (handler) {\n return function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return handler(message);\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): \" + [ v.constructor.name ]);\n });\n };\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var $$eval = function (render) {\n return function (r) {\n var go = function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n var v2 = v.value0(v1.state);\n if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v1.component,\n state: v2.value1,\n refs: v1.refs,\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): \" + [ v2.constructor.name ]);\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: i\n };\n })(v1.fresh)))(function (v3) {\n var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v4) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {\n return done$prime;\n });\n });\n });\n })))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Lift) {\n return v.value0;\n };\n if (v instanceof Halogen_Query_HalogenM.Halt) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));\n };\n if (v instanceof Halogen_Query_HalogenM.GetSlots) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.CheckSlot) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v.value0)(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));\n })(v.value0)));\n };\n if (v instanceof Halogen_Query_HalogenM.Fork) {\n return Halogen_Query_ForkF.unFork(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));\n });\n })(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): \" + [ v.constructor.name ]);\n };\n };\n var evalM = function (ref) {\n return function (v) {\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);\n };\n };\n var evalF = function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = v[\"component\"][\"eval\"](q);\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);\n });\n };\n };\n var evalChildQuery = function (ref) {\n return function (p) {\n return Data_Coyoneda.unCoyoneda(function (k) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n var v3 = ds.prjQuery(q);\n if (v3 instanceof Data_Maybe.Just) {\n return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Query projection failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): \" + [ v3.constructor.name ]);\n })(v2);\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Slot lookup failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): \" + [ v1.constructor.name ]);\n });\n };\n });\n };\n };\n return function (v) {\n if (v instanceof Halogen_Query_InputF.RefUpdate) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {\n return {\n component: v1.component,\n state: v1.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(v1.refs),\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n };\n })(r)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);\n });\n };\n if (v instanceof Halogen_Query_InputF.Query) {\n return evalF(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"eval\"] = $$eval;\n exports[\"queuingHandler\"] = queuingHandler;\n})(PS[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));\n })();\n };\n };\n var cleanupSubscriptions = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));\n }))(Effect_Ref.read(v.subscriptions))();\n return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));\n })(st.component.initializer);\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return function (prjQuery) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($66));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (mkOrdBox) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (p) {\n return function (ctor) {\n return function (input) {\n return function (inputQuery) {\n return function (outputQuery) {\n return function (prjQuery) {\n var ordP = mkOrdBox(p);\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {\n return function __do() {\n var v2 = Effect_Ref.read(v1.value0.value0)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {\n return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));\n });\n })(v2)();\n };\n })();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)(function ($68) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));\n })(input)(prjQuery)(ctor)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n };\n };\n };\n };\n };\n });\n };\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));\n })(v.pendingHandlers);\n var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {\n return handler(Halogen_Query_InputF.Query.create($70));\n })(v.pendingQueries);\n var v2 = renderSpec.render(function ($71) {\n return handleAff(handler($71));\n })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {\n return function __do() {\n var v4 = Effect_Ref.read(childVar)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();\n return finalize(lchs)(v4)();\n };\n }))();\n Effect_Ref.modify_(function (v4) {\n return {\n rendering: new Data_Maybe.Just(v2),\n children: v3,\n component: v4.component,\n state: v4.state,\n refs: v4.refs,\n childrenIn: v4.childrenIn,\n childrenOut: v4.childrenOut,\n selfRef: v4.selfRef,\n handler: v4.handler,\n pendingQueries: v4.pendingQueries,\n pendingOuts: v4.pendingOuts,\n pendingHandlers: v4.pendingHandlers,\n prjQuery: v4.prjQuery,\n fresh: v4.fresh,\n subscriptions: v4.subscriptions,\n lifecycleHandlers: v4.lifecycleHandlers\n };\n })(v.selfRef)();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {\n return function __do() {\n var v5 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));\n })(v5)();\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n var $57 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v6);\n if ($57) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptions(st)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));\n })(st.component.finalizer))(function (f) {\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs);\n })();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();\n };\n });\n };\n var evalF = function (ref) {\n return Halogen_Aff_Driver_Eval[\"eval\"](render)(ref);\n };\n var evalDriver = function (ref) {\n return function (prjQuery) {\n return function (q) {\n var v = prjQuery(q);\n if (v instanceof Data_Maybe.Just) {\n return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));\n };\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error(\"Halogen internal error: query projection failed in runUI'\")));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): \" + [ v.constructor.name ]);\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(st.selfRef)(st.prjQuery),\n subscribe: subscribe(v1)(v2)\n });\n }))();\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var eqElemSpec = function (a, b) {\n if (a.value1 === b.value1) {\n if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {\n return true;\n };\n if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var buildWidget = (function () {\n var patch = function (build, v) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Widget) {\n var v2 = v.value1(v1.value0);\n return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);\n };\n v.value2();\n return build(v1);\n };\n };\n var render = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);\n };\n return render;\n })();\n var buildText = (function () {\n var patch = function (build, halt, node, s1) {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));\n };\n if (v instanceof Halogen_VDom_Types.Text) {\n var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);\n var $84 = s1 === v.value0;\n if ($84) {\n return res;\n };\n Halogen_VDom_Util.setTextContent(v.value0, node);\n return res;\n };\n halt();\n return build(v);\n };\n };\n var done = function (node) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n return Halogen_VDom_Util.removeChild(node, v);\n };\n };\n var render = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var halt = done(v1);\n return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);\n };\n return render;\n })();\n var buildKeyed = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Halogen_VDom_Util.forInE(steps, function (v1, v2) {\n return v2.value2();\n });\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1, len1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n if (len1 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);\n };\n var onThis = function (v4, v5) {\n return v5.value2();\n };\n var onThese = function (v4, ix$prime, v5, v6) {\n var v7 = v5.value1(v6.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);\n return v7;\n };\n var onThat = function (v4, ix, v5) {\n var v6 = build(v5.value1);\n Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);\n return v6;\n };\n var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (k, ix, v3) {\n var v4 = build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);\n };\n return render;\n })();\n var buildElem = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n var v3 = Data_Array.length(ch1);\n if (v3 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);\n };\n var onThis = function (ix, v4) {\n return v4.value2();\n };\n var onThese = function (ix, v4, vdom) {\n var v5 = v4.value1(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);\n return v5;\n };\n var onThat = function (ix, vdom) {\n var v4 = build(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (ix, child) {\n var v3 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);\n return v3;\n };\n var v3 = Halogen_VDom_Util.forE(ch1, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);\n };\n return render;\n })();\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n var patch = function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n var buildWidget = function (spec) {\n return function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.map.gz b/static/js/app.min.map.gz index c9589ec7041ba90118313e71f405a7b33280e7ae..83297a9bcbd38030d5c9cd21258b985fad620aa8 100644 GIT binary patch delta 229757 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Ä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

    }EKB;o1L?@GLw- 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 delta 229928 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 delta 60822 zcmV(rK<>ZVzXb2U1P33B2nbI&Yq1B8Eq~lr(kKf4KTknrRmp$|CI=0+lY;q4q-e<{ zO0q~V)vTog-QemCV;2^?3{_=47VWk-k15J%U_vKn_y_+g&91R}@S9ON= zzAm*Ud`h-&(9t;*Y80J{mfI!3;lB_D+cv*ko-PB?f^VNDpYn=jKTB3HSk1Ejalwcqo(bgwe98QdVk{J)znLPy#(vc3<-l0wH3|2m+4F}9BLej5S6}s zz5yRF;_p^fu+u9gvHPX)p9yc32BtPp^CZm+j=BqWFj3_0TRDQt>)C`P>&9aOd&g6! za_jGf^QA~>gFI}y7tW;2N0-$ANSTuIHk{piYa*S zo>K<@NdL%6({yNZIll6A9Jhnq`4(@0Jv>FIelM1bzYt;?)pnU`!n&-(3uJmF)($3# zY3>7MYTGL>Z@XLhZR{3~UE41w(LcSpu=f;oaFeJ0oP9QC{Wi0mIDZpwVL3|Y#J5;M zifykqWd-_qZSft_8vCi{y=SD+>nOwb!-Rga2aLZK>H`sC?JGgdJ!L_w{-+JDP}<{G%AUMM4#AJI|+eTbkk@|JNgPLbK^ zX{)r9@bw}0R)75WcN9zSnUi?Mmf;TL@ZeZ?>wwSPy`}LF?heQgx+I^!JX3vw^>^+tcPXXI6D{;$(h4DZyav)^H5~ z!5TQL50~@HFWK=5j2O!sd(AXBiGORA`jpz-w?zAp21Dl`^sM%G z*mr8|?_5Bd_?<&^0{NBGIsOXo$)|ceMINY|g9MMMNM2TZGUj097t3EAcHHByY_iH^ zIbZHr7p}7$3CR9o|LvQ)(89{vfJ24>5a`v9wNXAAW-9{VIlI^ila4Efhz?g7VGEe1DltCE9jushl6}9g%#+rG;eP}f(Mck{vhEyM)H^$>gE5v>X)1b-72$Udb|-KL?ef zxXZ1CeWYzfcK~81hdKp$omFx;WlpmBm461@;r`|81~3z2)4|{dW0O85CCoQ%h2p5U zs*C-XudlAYRvSd?9@>}MxRoh7j9i<)e2ueR`P$?FhRmJI*Bpk0!bSDOYIY)yRW8Hc zLs#s1EFv<0`qDy{&D)1F@{qy)=6)`u8bFi#@)sPkgo!MW^7iGg+&^LR5Ji^z=YJ)w z?Ncft$thFnCuDviR*t%(8(v2n0l^j(GnD?cnW#WmNg1L5<`0ARAn2p@_S5wz%%6!9 zKJcGNZ%p?zlmYY{sXD(XxM0WAXW?`3;fCC3rNv@9aWW9MB4WBU8S)d*)V+d>uuhm- z=_@ofKh45C-_jJj!Cs+-HZ?uC3|1rzOvVbN-7T(+d$OY8-A$4afD@1atkGQ&f^ zOKVE3RrPAY1}1Jy0Jum3g9!1(HGx(0p<5PQta-{zQ;EdRg8W$=ohIQBU4O?^j#Y!{ zSO}f6HzAF^>8*L?#dTKzB|gDG@d8)x>>t#T+gi2n4AjJkqcx*54&HO>JT~g^A-p!> zq<)(E3FUP^RMAg;eQS09Rl$D)tg+uhWu}%7F+8ES!kG&X=GRQ&^1AD6>W;m3q}TYX1^i$!hrvE|hoy-`WcRp~Zv;mdK2c34$} z`ih#(%$0{`|1288Byf)UcX@#p2!fCoD>-YVWD0}~Doo7qNkHK^q5sKW)_!} ze3{|3dMT8TJXi(t2<4&=H_aOmfh!rd2FxNBe{5Ep^~)Mm{X6d5%~D(X zSFvPrJ==@Ke`nK8+p9bM-I1luL^q&&q zD?_Iv9Da+nl^t`bK7Si#PJyIZ%w~EK=sl!(GLCM+DJsv^dv#p2uaILbd}iN`4}fg+aECRP+!T}hK1qvx^%2K@|gvlPtW@A%6xUFq67MMNqWbcXD?t z=Q0X>!-Z@00_hMvXi^>jeqt7*SQs@q0NEcV6A?$}SOPGPTam2N)4Y)WWw;v2fdqN6OHre&>JyeO!td6$IxNr> zT)9}kqjj19lgON4sqS*THr9n!Ru|3 zIzuHDU4O7D%(Z9B$Z>9^9C?AFPn=AI?ahzfnmTyJD!DBW)|-*HVao*UBPz8~UtJ1d zwlI1gbA7pj&g|e46b^yx!}J0da2k{T*=v->q*u6RXAAeUNQH%`U9o3m209hEkwT6e z!;kQ<0p%&-zqt5dFOSt)DX zdx@wqZZ162&?gJ_TuTF$k>-}efwyy_)$h1hSKn(#05}H|p{uyk23n^Spxo=)bSj1Y zH-DkIF#ZNVv^u$4Q&W;_+Rn`-`Km*!G}DfDyl8Br743+8e-k}tbYT#Jb1GIRIiI{MuYYd2 zzlBG-;Lxr&s%x#nP3O=wsD*0W*<#Kmw2eOGby{F>J>^{JMM}g zue70)TcDL<_oo5OPW3(XVp}x?*M;4+w06Q;yS8PdtdAl`<@WR!_r*kf5lZYyvl~|s>en5wpcBHSr@^&mcnIn z7Qg3U;u^Z1+3KL35qXf`0w%1}V_|GNXy5XX{mkGemU3qlQGl%DYzUL)HpU9c28Y~cd?)dR)|M8ruJVfX_kte#wD?83n%c6TKZr{1F1g=d zf1ZUuJ?Q{glxOZoL!1Bdx5gXY)3q&4vt9TkC+%e;>XKgR(Kl;r55m>;M^Dzi{aOp0 zqL*QrPznocaXj=gHKKqZrwA_;`yuh626J=sk^RP>+dLV5zGOcE8oc-HC%Py4z3ca-^ki?Nl=e-y}l{9$;E>V9m*KPCS6iD43p1Af6$Rl+M# zj5(Tey=N?ev>oB|SN4gU3txZdrMZVp@1N|Olw0^q_Ma0?Pt*G?@xSDG@6jU<{(0<; z@t?Ea#)dcSZ9MVzdh6@Vk?0RL7=5m-gA;zY=B_vZCV>5xwRrPCHd?+|ydxNffB8(A z0}q1#Ln7G>wPa*e0pzyKBsq^4X{CjCSO3CE$gh0?znF*n@g3nyB| z@MM7>{l#D3@KQg=;0hQ!%scawEwn7zjXsA%=b;|pvAeal%mO_2I&iRk4xanM(2K~b zp|JLOx33x>TIiXAQHAtmZ!^|m;5t^ z&sfzygU_?&&OUt-*#B($vK3?bxyi(tO^N5vJSYobSfkcY2hCKqF|>Jif2=E{hlAKL zK}p{ctv1^s)Bce1%@k#<$TPKcp_2AXV`3CiAN+j|YRR3Yk{W!W5ZVKr`iV{OxkXW@*BT z7hKMi#-$<)zv2#1!@(0Kf6&4g6cdsNR{C zvw+LhuVKvGf0O0`isy>?7~Z2;-o~Q`m`x6(Oz%_THhr{4CC~+x>A;E=fQHvt33Ow{ zn@|SlqL_Bo(@-81?s6`jOciHYdO_x?FR~1ZbUq}XlJo){@J7WFe|mVEaWK(cw)yW8 zmdMef|1lAT*g@Fl-!JI^yyRaycqrfV4`wX%K~!X?VwZpZC~U4?^Mt?A`FKNLb8PO) z_q9P=@g-1Ou5a>R);At(JpOhge6sv-{W0v!lLvbS6ySwI_dX7T(^(blC4AmWLxPgy za@9Eo{?S^;>#2hHf3olVwfpx2`ZtAtF=8U6(7)+ZOu>MRY+^v@0pOwcWp)f4F1>3yjBxw;1LUMIK2qsYx#JSt?eoS2In>)aH<#c}L4nWaL zoB0I&f6P<(O~AueeO6wxp~@=8xZgS&E>qB;FYDgJnY*>h+$R6rv3ej@Aq~;RsUEO| zLaQ?`%-BtHW%OUnA|LWtkA7#PyYZ;I*6}bXAEb{G|2*-S%bqH>*e*~*pZN{yc!$SK zr6``B)Y3K*#fz8e}Jql@dJ?MvX~-PL(?jZS!>$PEA0E3 zMFR@iC>zu?xl+4ib+LSulVWh{Nr;Sb-9)U6F@|U0@elxCQ3V#i)Sq}Yssx(!ORBAR zL`l}G)fP)m#~w^kRdT2e?aU0>z;?tyKNMaI^-gm+s304iUAbV+#Go*%4Fq45gzRo`UccRb_PSRI?9%bf5-0mFw%@+l*{_!D zA&F8dyk{>*o>8c*p55`VX0OBhrDkMrstZcr(~?+gA78xqYmWjptQ>wk{`j%u?Y(_- z@KSbw>o9XS|HsVxGCTG<4|l&Fe|LI^a=Wtdw`r7x-Z&jj2S9+UjRqM&~k6}m!o8P)f=Qk z{Ov4#c{DqOq~qnItUmTiS9k0@i63OwO*Tr3b7_sEh*#R-#bFU8j#m%S(qx`O!Y~2_?_6D_GsD zqvXqmH*>b`EkX5rN9$N_f60Z}UmfKSXz;~2?sde}w|Y;Ve2_(x;tJ@jtGu|3L-+9L zDF5yl|2=}%A7JZGSC5X?zk_k%z>e6Qt_JBCcZjDtBKhgj(Uz(VAKx8e|4;87K3n;_ z)~rZAIy&427=8wS^=ilPKVD>Y%PE3WT#u#YD@eLp-TKZo#&^W#e@)%Pyem_34uh3{ zV&4}lY+-`}0H_cAm-}FA=>fFoZ23n=XE?X|mRD^}>n%gY2Q69xniTd*0^rf169@e; zc8`vGOAn3`7|_!#1Si;qW%oOZ1Bp|ooGUB=u;mm{5u+mw0yhC=0>)wmqZ}?>tmXJu zD=rSgs3ZYTm8M*ne=R^2Z|O=jdBq_X_IVYDrtM5}b%Z;EThJ@7)78C|71!lsd4NL& z919(?l+~GfIlu>`FT`9H>8CKsr9KV&?7~3@mY9dRXW`oEdgpw3I>A=R`TnKw!pzwJ zZZ^eRT3n?@@$MuX1_^KvTSiHd+B3?Yj>bX-M-oEWdgxyDp6f z(IZvGA5FF7{LV5`9!i$!xUTa#7>;EYm`ByRzjDmNdqD0+aej zG83Am)5+Cv2zNjcL~(vKjDk2lg_A!>DSyun*H@k#6CR*{pctYBxJRxcRy2lrCBv&Y zy27)0H4dWW3T}oe{ezncKZ@Wg3C^#Ql(l;WlE=v47_)|LJ%CfCIg?S^^)5v1#D)s|4OKrA$v^_?yz%PaP3x zxp6hyn5u~hBz)3X)TdTk4zS}HqklCTVo2HVqbuPA69856FM+VXaPm!3ZvUY3`S0vp z9{%zV!X=1cdRLCvX85N2iCwkphyVVM;|JRHSGfUe=(}Z&zWbBj!0L<-w#BXh1Ok%4 zf0tPmHX)8DR5?IMgiJO%%u?C=-3v45A2yAO`8 zx(^t6aJbSt2Ez5|>Tu<1sV7KKB#^rRk>9c6k}Q2dbfqFYu+^h0r^{%KqpK~z|I}io zwWX%kXg$TnTZRB4Uk6U-7uo@SCfRNv`9VZ3&>sk=g7{kAV$`cBMMRh=2?a3~4&zY= z?n-u};wgjzcp^KiK!fIZLw{`nX=7=^ZH+Hhp)a_LaQl$}y#lldTucfSRSr{&ukxz_ z;L5Atu7;!J3L}tS;j0ZGHo&mR&|Cqpa|P_^LGUX!H1>3FCE>*q#!AK# zD9eGe%Kd9>*Ym@O(MsPULqN!IrH>Mwf;cKLZ3+Hkq)yk?f;Gx9lQ$l1JQ9s)^rypx zB$?rr_EX8@KM$cvkAHTtmwJJB=1sh*H}FoqkvH^!3-m5Y8QmEBFH6gRUOgS7uE=J% z=|&^R;T{5L<+_~BmEq5s*CQT45oO`g;o32GT<&_>$9L;oZI{!~%#At@zSjX58HAmg zi*GYpUkGxtqo!Vb`qbtCOgEo|SJx*t-eD|&oeGb7DDI=hpMNP=RK@@~?rbr{=276g zKrcGnINrj4x=?@YxRk&K7#%)5MxP;d|IeQ-6KpHE2V7hcKBg8xWtS@B2ZQIu>j7MI4Trr9Ac5Hcy|Ll{Qb8mt7p| z%5o3K%2d*MnZwg#cT4^DJ6UvkR&)rr^;%V6B)6&+aq*mK`9TuTiUAP6nYS7 z(=u=;wbLNVN=#rL)SZb_g|+yAQA;_@!eMXhJF$=F#+6vtqawZW)^dzWcyXHMVej7h ztU73De1ejW3|$uu(a?!HW+7L#;UYWbiVpZG7!v3Vd^q$G0-?zLcSs0~Wpo6$z6_i? zoLoBb-G3+RCXi$uL>_|`sK*=O>LnEnZ8Qu-vPAklm1EfRV4=?PV7W8vFy@}2 zo6~!~KU{(P$w_^|r?dTlxh$_AV>}zriRF@Rp;~v!KYOW6=Vt$6oIq1$#cSB5{QmtE zx`^3j8F6<)(6Zb8HH{L6l9oeQ$|1&g@Nz%9x_<(^#pDzuH07sUA8Y1gJwjVtPhKn- zK5C$UN@xdLgR*B`+IJs)P+oFRRG!oKSARJ=JY4$x^YPK~lI#PAdFcZ&0$l}wsy%ZH zRgGn~dEV3jNdyl8mqn0&>h-MPz#8tlb*K2CTphFpmi>K@t_wKf^7JR|Vt;J#@TD7V1H4u-Vke0`^#l}tif>n3=WC7EIf{Wa{{tIDlYrUFUV z8_@_#HXiDp&X+k2T$QyRj*f-VN-5d@au=2Xd%$QV6u=M(&@{DwRXT;3QY_?d{gd%d z8V26m5T|s#lMzoD25-?PyT#U%Fi#eLN=6Z2#&8Lc`(z1?c`l2vhdRGBm2F_R$e_%0 zGtPRQ@n}_F!h8@+=q2~aIlR~T)1Uux|0~CRuEmFivP!C@;&%$xoL;1wf=e4z!qtEN3r{5hvxC+NX6uaN8deba_?v3Gs zJneOU;ewj0U!JaVX)QhH^~8G~Wa#NkgsZXk`*X4>NKO!$(7GM!Z~N%iVRokRX6 z1qoM`cd7?an+iectyPZ+wV;`QlM@mVogBOHYwO;Ld-coFgClw<&mSDS^c#A40O`Ew zu@KtQhoxGnfNEmZ3&+@{>`~Ta-F2QG9b$ReVYN9?3+I(jP?$3%EvsW${G>d-y5hW7 z>Qt}tKp%oJwDP>ftb``RKbA?rjf?&dt?)mf>^hYF2NdmROhJIjCS8qxegz~);LcuL zp)G1fK7=@1K0qHpX zJqG9PAA>2XT5eWmX+0xcEVlUce z>*ynor>CdT3buTvCUxfUIpr8j^~+4KU_&y-FNZH}Klg7?|!#edXdc6ds+uFMM5;vAC{U znfRzlDyt*M@?LN^&;(qE7?{quTY%`^8pxh%F1GQk zW|!=Bz#oPP7a!ig+D^xlG(jKmQzvn?vBAJDddHlZF*ay6Ajwc}xOtyJ52$*XDUr^v z!Fj-#(jNLADCM5_>+|sS3DWhzBr_m_?+qE`C(OCF30R|l!w!;r$SIH-s;Nnvh#1QDudLb`hxb>yeI23EuU#l zb{DGQ;$!CF$_a7z>%sc~0Z&Ra00 z)s}LpQh*F(%l2lta8ff!tr?dZ5W1wFT64#LZpZ8V`_*wt3-1KjAtX?T?3njfQ9l_@ zGa|8*$reb#ZZV)O8Jfb_AUr zbpeCXsXBge^$U$?)jR12gHH%1&>GhGW$Rwo>uo+b`FF>?f4oemjZ{3Z?qlC-EX$jJ ze}+>hOS?GsdrXrYdBN3R{(ZT+_y4}kwQ>mu!4G{6uW${IuXJsfEA+X>C)ZnDy&6%7 z7nJS8R1mzgsDdUzJmGzC@f_c9siK3L*eXtiyNYJ{rIb;cspFR1->$^ME|lgxVWP558@*S89j?}qP6CeGK@~uHa^mov!wAIFlT6BG ztQZMZa^=jWXl6d?pfA0)ArQ8dlhMa80kS=rmbh*X{}bAnXmT#C9LU2<{bK zqDj8M^r>~pz5vWog3c;0hns^Gwk(;3v(g4zm#-+V%*+Z?j0S0mJxpPL53A~ET|3>hlTp^O*i!r2huZx8@OGMbx--CIki?$Qd_l?Wtd1LmnKLW2=KVbdmNt%T59}4mCLrlG8Zk{kgqF z+(gwOVwX-vVaU+aoqU#mQ@{*I#~dlp4(8E~TRx51(568CTa}SvLmWxl^Y~mzCFK&} zqsUot_jX>>=mb-2Sh?0NEWEketV8PW%P{?t5+?ERAAL;}!O2#JYT>)z#aRT~M2a++ zv?-g!Ee49O%X(giUFMI_hP9&zm%d>l=7upCb zLVwn9S%iMk*G`u%mMz#m_RA%sa4wkY+(Q+e&_K{zmI)!HrXQ`4K)q*{jK;xfNJS^S zfH`ChbZQ-)8k$e6tS;|bSy{n5=zsqo|1Vw7StR~HJ0*$e%F%RVZT%6DNk@lYI!FL~ z#iXPE`~UdA^s--nvHJh-#`^U88*HQ_8u`EV3LVzS|Hsh4?tXbVW9k3j>K-z@VfSYv z7J`+L^7&1TdiIG7359kNbIF~NOKyz(sGTq1)R_;jAQ`5B&A;nDrVxpp&zOM^Jbfq?sJ*=Q7Xq~F1* zh(0e*;E2MFw)|D+yRQJXY=ylE(}{PNJ5N`!jqjeWVtYqPr`J&}f7fX&-7%L*Gb^$< zt$nJpv76<85F0bo%;w0*%Z5Bk#h6w|Iapt2KWI#U<<&6X>O4KeUH@t+8djE$mEwz+ z(Sw(h@a3a%Q`HV%F8#sfL-Bsbi%E#xXL4(@+CH`uZB^M`el?v4jek7F&MsMTe_vy4xiCdX&B1R%QlXQ zn8Bnv0n%}^+r1PFt2`z9#_wp~pRV!`*MoGd3N1b*b4Rtx>XX&r#cUmCx?3J?#6_kx zXMqxbs*Gw~b=M_9IPs+bz7d22862pmjF02&~F$YKwFNoVO6lc9#Mo(4IPbE}OIp(WwcgsSN_t5>%v%_eNlm&Rug3W3W+XbsIcmsP=$)tE#uUCJoWeSgk`t5u0m;9$#Ip zSr+%8G#oLxP#XpT&?Zy##Mg4nz)?7VZkL=eyWuj~IxK68!Ri<;QfV`EQMNu9=tv)i zaFnZ!0ZMUaxXc`}CqRt*xm8|nO~&aAMIo#R*XXS&$8sIZU`tD(gGQIMgT1L!0=T-W zuA$V#2S!$g_EBM0xe>j4B)j!*#?}sb!%Snor(DEl9*SPQ2tk*EG2>SVyiNFjRBOag zyWR|e5z)##g9&qe?krYicFT1`FdH-9=Psi$%LtHCIK+!gdjx$g|)WS zEE$AI#M?A&>``t7nHklfEy${18CFX(RI*l;`E78Xz$iG!R?TU%bfxQmZ``Rf|0`0v zT>>0`wj`KgwO&Yh;oqf;AYV$-Vrhhq3%g%!R>U`X6r-w3SuT3!;)6$?#&F%Ir|>zO zd1pFV1<1D=o}R~dRF+TW2dG1oQK5zk{CTnq|Gr=!FTUPAI{Jz!Pm%7F(wsUxI{t-e zO>qT1?Y#$6RywYf-Jl+SYxgY3-(Do|xYjWcMv{lx9HvU&^)NYJUiN^hS%xN-^<*xF zZEDfLIaIAU_Sd`ujsBDptG{}9|LJ#~uZ~x}lD4YKIrU8KRR2roK2W>&gYjgu0~{&- zjtl&WMDYDn{7GVf`-o{U{VPoW)5C8!J7(`fBNqCiu1I^~Pg_TS7t5P&Wk8LEPYFAW zd?5IS{^~D(zWRl^V`FL@sH^s%2WeY>I$n*GBKz1-pzc>**8O$3K%@gg{UV`Tbt!`7 z)f^PUZNa^fX%ZS^V|Yj@k8~zO*hs&Ce{8D0pG=3B3ZkxHKgz_q7&O@o=Kw`3D>=D! z?;IT=EteeT$D1yHG{Fwr~+Y|+! z7MoClOoh-}1?6Q=6XVu}mGSYP%3(V?qWPfD8YL!G;e9j)ki3?PCj&_ns)^%OFY-5q zJTw#%d6Bb{t*p~oL?LK_>c7}_?$gJ;#3elu95Z_i#UE0C-I~2#IBTA2Ow&xhtT3yV zmmKuY5)R>lSYkpda&r|HVTK;A0sE0x%;8d+k=7`~8Xfjz0ymEE(Yj!}P=)YpXSo8L zLTb&x5*YZ7x5TS65K82V2BAgOD)q(J_evgx+4mqpYfTKAEw9L{DIa_mr+)>7j1F*@~Z7L)*04k+8u{^9-K06lDl#T zgpg(h-Bn9Px1@XI5BxFAQdq8B!d+UtI_~~ejOq6_FP#^3K0X1kOjIqkJe*}tt@3oXA1Ivi#;&nCwFrR-H=cW-COAJ;T!AVz|wRn z<{z9%_&MP}*$+r~FYJn9_&@?vCZv$?8a5{LGx!y=U-%ckUJ-T6awGVT^lwh|Lh?Sh zHaZhM`!P%3Un@Kz%F!u z8BqI|EGz@yRNG)KqGXs}Y_UH*q}7G<<;nB!&)Yd){vV9C34uc{4gHJZc@;%)rAr3j z9^HV$8ZMo2lD!XP<&qeub{VF&`U5!XS=$yOj@ApnUaDgmQdXt_idiGHOC>W@ngY_Q zTBFcf@ygY8%tk33VI|B)M_vqcOVWvdFbkOla0gid&Gcu=t<*vorM?hie0mzvSvVss zo5GAjn31hcXtd;&o6v@iq?>h4p*E+YIwLIvDl=uervWfFQ}`BmSIfJle)ckL0Dd;Z z+M%tsK8-E?qnD}{LO-3&cmSG#N2ZQ3(!PPevaY~*1fz^$?clbe+yTFGw{m}f0GCPv z%{jT-!%CjGj_=>cyU#R0q$^+WkC8KSH)C{IqJ*eQEVapq@qwSys5Y0EgQt)PLl_(e z$K7lSE4N7!FGtQ(jBA{q+Glsie$ipGg=TbqkWc4+6VS=1YLh_1(XrKvM3laDZ zPvSGI=9C#4P7;@szgu_33=?2~gpw*FlmO)dOw7vqvBm@?$D7=90QShn?|S%BEb38o zzz7+3Z>$lcur~VTD5k8(#!z#oPyzgHrVofF56RCd|B1v*(hZYypL|Bb;LZ_5w5TZ^ z^^vnekct65g5ePFw=jWLCX@`UF#Q;f=x-K|)AP_M!;+rGu}IA+IUGlSENBQ&6%)9; zj5<8+Ei`YW$Fd213)y)*q#zUhs1)C!upnDl)&WpAqA>CSh;H-g1hGBgT8y=DVTq*J zS)~vMgR^0jwd;h6)^sr)2f6JbV{ImHukA-~KDQ4Yz&l;?g(0^b2e2ytgF&k$N1l{W z;Wx*Mfc7uP{S?qfC#N5Oa1*uvGrt!E{d5MhJu^i1j5zNd#_&t>Hi+u z3-bbfYXT`dod9v{+tw49QiRovnO@`*=qt1qgb}h_Ahza=!7=CLbUvSD8y(lJ9Sp;+ zb zyy6%W&k~%t@B%h}pVSwNa5c!WEMu%f(^hCFMC$mt2^8 z5sTO;D3=i+Dfnl`!sc2QL%&}fg~^iT4%4S)b6F-cW11;{+{I$!V8RLUlm5WzJp19< z&xC+rOiQBx7$gi7jYSGZtyBtO`fv$yc)2(Y4CEU)U-BX-rg<;zvL7D%gS?MS!w=2{ zVnNt@xOT+$v&8|{N_woy$n)(eiUDUiR^Z@w{n`xG4JVF{H-x-g8iMyUDV?LM^R6N9 zZ=@8<8x*L24E2_J28=o>3Kn1q1Xv!R7FK9{LN2}T|Y+I+>76|Ht>UC_ADH|_^t6^ zD6~L=quFfEn)K5&-cFNW+cpZk@QkP!sJ9d4t?OM~sd{fx+XmcAwB>vmUKX&-&*Iat zp9R`llr!cmsHnzn;Lb4%HEyU<2*LtCq@h2k_C6fIRRiP9gAqSQr6e(U{Q5q$o@AR66+XH(chB`{DjjYn zT5qBHJzHSB^Lo7&JidRe!wcfwE^W^H^a5Fb5;hu3a;p)UJME!TdkF-+>Rdg0hhF8t zAk4ry!6>oJPkg9@5l#;K^)tlCXS%kl4p*2n<0YV`AIw^SYukCVld@^HK%fvYD2R$# zi&NINyE0ml+#m*j z*hW9#>P>~8(ze<$0q_K=Jqy~H0jX-u>_>b_TAK;y($JOQ^6AiVF>2AiR-%5V)W-fE{y_3AzhhIh=tXd2*uu)MJ(Wk;kTh zFJZLIDFuDen|TiXhe6^GDmlA+EY?AP(Rx_sSe06+BxOD^f~K4hjfR~9{{_@)^NQ83 zvAA7h5rr+jb}!Rw4>@HuQ76M%CBT8XcS*bmmzeJ+H&kUrHBRt1^0z+_tAH@R5C-;8Tz&Ps8@a}8Jrz)K5PnM$;OLUcL$ zyDufgr3BbRpx^P}hgLEk(`S^67g|KW(6<_$|L`{+UwcX)xORjO!ryS+^y|;gJ+vl5 z5_u7fC+OT82wJ9^9X75`;~`4K37X*|h?Z;6C1nyt9F8LjErt^e@vherb`zi7!GO?< zERBuQYys>!ZGqcf+tZ|~i4^XC>t)u&?HLiXTOf&61xf9d#+=p6b{!?OZrec-o~GF) zfskz7erfVt7L%7%gB1&m6%*~5tEE!gvKjmm(x6VJFnT>L&cf^>B2V${IF7d^vbvI} zGXm&$FUZ0=9_0G>oJa~}QuZ|1N_r^a4YtBwF{A%9^VsaEiXYyV{PHq?W0zS~diQBr z6BVt5SO^BF>s`UPMTx%f z*JGVuAJA>`{Q>Rgiy!rW%kwR&%A>}ffp&P(LMK7TR_KPH(i#jutYR=HgYj{}IQ)L` zqx${5NS8thUavHP7MQaI3Vv^{!h5v>-6$#cr~S6bY$d!}n~No($!Ei6;?}^A*rZ3* z_NHyIe)52iL^WKY%v+QPY zE4yjgI*oF~t|Zl%!@&wAM-o^l#!O$48QVQLjwBS6w~+mKQU(dA`Fd&>Mg4i7e?0(x zk;uQq7h2I_U_*z0sb3n4XW5V6fuN9k^WrzTD+7*bL&^B1R$88MV^$j8k`zevKAQ>t zv94X5-}Ty!8{1{13qC~~SBlHUW_8sF^eS~mjdhThtyTiC1t1_^R;+R@V+fgqF|r{7 z?|}W}#8=F|h+!VF-^3(G>^E`AQ{$dAFUU5)UgeP_z)6;W$1~dWOpwNR$T*r@pH0Ev zjC}XF&Pm(LZ^recZj(ded_AK`880N}E98&bBCDjfG>E7Hrx%sLqi|?xPS4~IrPE|L zd34vjAT!{}yuh8$2AZhRHu6mqkpZCaS%myYb!it{mA1>BX64o}g)J;;@9hP1;a8d8 zOXp0Pro&i&AQ7^*89XgEgXLv6I}DC}s0V+foHAQ{L2;Pu!l@D61Qtj{n^^M(nN~$% zW0-ML`v3vCGmd1ZP9_9cPF51^xB{h4f$|ayiP(=1o;XVE2@w{`ZEd}w7#yQ>;lX!O zdWdp~0mKTg!%B3c5X2iw^{A{eg7@s+Rn6-wT`9y@;L<^${>+~!xY_d0A zO0AE)*F|)aa}{9 z?9RKQ&BnEsiwd1woQ2mR!3-NovSO5<)J4Xwg3XGS_bzESE=_`>2%#`JC0q)MC4B?< zqAfXSZMF3HYj0_g#?x`Kw7#^mR8D*H&_!*_!%)|F?vl1>QAs*>1x;w_uL?jiV*%9r zJW5K>e?2TkL%f*K9`920<~2mM(hB-%K$g&S6m;i2)BKF@dEtc)+DL0b5f??QY}ouH zSXafX9vqk9TMHgeZFqP(|CrerVe{yqRRS@>QI%2}M)@GfPz*0ABAWn1VHSz6ar#Ih zS&uk&IkPKRq{L7;1Jufxc{z6?WhpqIhkC#he*_LwZi_)oB>vciR?w0bS;rkdi-;*; z&~NLwcqSffj6&V=U=K)$k2it50RrO&;LIJ-k$;WDD37hA=e2Kuf%b|ZkiFTRT#egg zq4>1L!-X)1VK+>y)|%M%eAfDuFL>Xm^He=+m*y#BowyAos^r%8(nMDYHxCc*QXU~} ze|Mczsm;ukWkt2uNLoLKf%LjV+v!-UR?7uiIsFF1%g`~dQo6?2mXV%|iOy-(=Em@( z_QDh*w!O*{!NXuB=>JZq1!(Pwi;YGc=ysdCEc} zZ&}Nf(3%2oO*Y$bN06>Q?gSK9cLYsIyh6Y#_{AKVHk0WwojSgjUdY#4$Xsh{GRb17 ztt6|9zX;{C=@Oa8hi1QLC~w9#u1=qM!Zg{bMUtVbPuj!jZEP1kZS91oS!fl9f08rn zag;dpBk1Rl=P8JE`P`T2KE0)LZwTT1 zMNq42n~chm;|>MIL|m| z6R6b$tbg7y5sQ4>EOjc;%#aK`(UO)bNW{k20~e;qg054zdg zD)lAdWh|(L=F?iz>zScjxT=b%tpew14v%Zqir5fljABG7FCKqBE@Vnhr#0Nh^(6$T zG}K-)KAAr%X9p_NVD- zv4o1c6q~qqh(y9Q=vgfRf9+}QOuXbqT8dh^n4q5R*J<1r6jsmdl+)*xq`!w*Y9=#! zSbO0VG@}(UC@}-VewAa2Dzb;}s|4m81&L1oi}jw1SX!u~Rj^6-T^7buJ&1Q}y)i?S zY}68z0M$TJKs{M!VPFk?K_H%xgJn`=Yc_YTJ@Ca+1g9%V258qGe<@$-<*ZmbopB02 z%!Ls`aM>3U!i{x{h)_>_yv{H}QpE@hAc>JbaPF<4sG14P@2$fo#a(j_dqBv(N@a#-laMK)}4@L)j?;D{&RSa5`v_~=R9f*!m2vol+up?HpBpXXe3$i61pQuU1q`t8lW=Q7)j{vuaG zC&1@^nobP46JtdLb%mZ|v#rp{4vS;A#|_ta(=3cmlP+^Hz=lvxn>!5l;9w^lxw|Q@ z_S5ddI82Upm48$WOwzfNO>`Ln>yu}69T62GEA$fd(*gxN>AIO(mV0CKnl^NG6%0-%Rh{ zihVJ^)jtSi+Y<~`PG9m@pd}kYXLxY?YH>l3)nxlmPxbGlPM(0Jzc35QLt;cK8G z^%DHIbkoe`>?jVe7DkTw=5jKDBcxp6Tbo=#B|chTSa^O1D-+IHkA(Dge&;2*q4e;N zSfxUj;Qa?!CD*eG8`|Q9#BDsLiX<3vt5$iqzKus4z!V8rj&&V*JVS;jF6uGCnRDR^ zI##k+{3GLL{WY3E9GM~`E0&yGH#0;!7EGJJulc9G#0z31Q;CCzn&eM|)cp4->hrO@%Ad)^t#n~%#SZk$Qs{#UplW%%e z3wDFVvcp@tnBm?H#DOd=Bz@imo%9OU# zarNT2(Fd=Ce_mQC23NNjs#OWC-uD$H(Z!QXc{~Re)zBd-V&;>Mc_jiiN0YUAF$nH^ zED8l*%n6h3c@}@!HJVc7a#*a)E_@; zonTKOfJow_j9Y&@xr+x)PylQTrScK~9+_u|r{)4s+2?;ioFD!j>#!HfpNm5Zo%~j( z=L->HDD_}5DS~F{izX!FYL8xW*cqq8Xmt4%ob-hc4A&zPjF?i!;mWlIg~dVYjQ2+d z@>x_YtY@RW7jnH_?~8Ot#8$QYJ{&Q0rGK}5|I_PKoE6jxCjxb#Q~N8A8o0L7mN-6% zvXi1fLt%ff@YwDaLWzJ?=L!P&v#lU8Bj+(rU_w2~x!MVI>c;9FpatCeI8ESvu-`){7~P#vP(PDWBZhWG+G-U+ z6u%D#duZFu=!V#GsR#Nc+f26eV5%lMsMRT7TnE|!F4(<6cRLR9Ts-KluPbHpHTj~a zr9OYE6=@v1GLBv8dL8(o?!5w#xFSLDX$XexqJR+TUrQ4d&Hi4g&CpK?w_~Uio0zqH zudiXTlwo;P)fuS1?yb+t^~D0;ySl>uVoe3HdJ_OlVb+4c%Y;m-pXWo@M zXHZv~WzALpyty3e7GAEjw7OTTTM%#UM7Y}hX-S*tcHY0*=uFEeBvVY)E9b(X>qOE-ox2VOCjI+MILbR)PmAC?j?Vm zjn0$!e%;H-iBo_e|i7$Un=EQvA2HL_!uxRZTs2mVbTMvt$j5=H|6=rMg z66(-ido0F}gV2R&!zv_F2c7LH`7aTE&BN+eqq9n3Vu)&;!oraGvxL)+f8d0Z@Jw4P zl19i*tjAyE&SXid$rN!kS2}IsbnzW+FVVUFw$@xNYUk{LroFx?hZwCkSl)jvT7&Y2 z;cL#F_|-dBE$;^kP|IlYnxH|nvlvGcV3=^Bdm~){xi{lMwva&8h1q~NQ%W+UO<|hd zT&EpIDK)M|bD@?)<8!va2;0Iww-KCc#n8%c#a#A*Tu zFbzL$#Xc|#)i-JK0##5;b+vyIqBkR{`wB`2B{rk^Vz4m*67$&9+7=+zjaU2IqPxqN zP7^}Yh+~r}Yd~F9khTbOFpe{#tbpmya=(U|awADtCWoQMVUZ>xlq!Jg9(Sw`EPk!Y zePokjrp#d9IXrfqDaumFw1GS`Gh=P(oSPeFGa-X8wGQczGCme&#ln98IHW%}HRr7w zpc9~0ZO|#1VKd_uNj@31rHU-gZq^=69XL0&w*-sf{M>ObJhm#HyOAxc9dq3}D!O&y zK_y8K5MdB9RfKZ`!GVFw=BU=*l^*RptYiT-3qSupz39G7$LVR9gsCvVE2FH82kQVL zn){JJ^2by-hXf>$I9Gp97>m1{NTn0gkb5k>CC?J&>;Du0b6UW#vl8`NV=>qWJhif- zrmLqs0S19`(LnPQjZrw7>eRj{nNgUkF z2Lx|I^8&$Bp2as{r?qy0lz$(dzW9u;{YB#H;mXnK(a|q|ez1SM)pgvf!=vLbv*XoM zuXA+t=ldPk>zu+rVn8_{$F@;KLRQ-0E;7&scHMiSwKi5LxwGI7a8bf)#11N@FBY87 ztZNTyY18Xx_1>}P2puWlB{sEgS*L>$SW7z_Y9Dfm`Qqv87RsNuy&!_c*q2AevPVDc zzkQ<)5ZPCWdOLsNARUGu-oL`AU1<^~g+Ht$$o;8IfCoi0_g z%s4EkG|euo&1#%wZPx9~c0TcdFwGW4^NyizbQPUNAnT^zztm<#gZ@aoFo=W(4CQ`$UW@Ekxc>&%P=ViuQf0tL`n9f#Zm)AQg@yt6c`Lz74Hy>J)>NLSMP3D@OS ziQ4OjOw@n9vZ%C{i=oxn)U+4V#9Umzqh+mrUb(oqSQ$Zym1!1-eEmJ6K3*DTEhN!8 zmho5buxeJz*_0_*gLQg79gV`Qi|y*}OUqDH0u6x=b^kMJ&Aj>{3*PBt*zfMV-Rth8 zgXuUF53iWI3x~D)91xmH`uXL18W6Tw|3G*PIy`^r-Rbb$smCxRa zo%<0lj4`zE0R0q&7sOa0%o0;7V44JK+=((GaRI`l^HRbjDD?Uv$AF`fMI#;QB2{S4 zh9LF3b+E+{Dm^G<^=QlO8P!I$)eu{`z0l;y8T;{UH2O98+9da?8Eq#F- zs8)YcQpP_TvdJtLmL7=mqAu;H%rI!O5zf~wT5B~xyYahPVEJ_fK~Z{EmF=74uTlNQgRQc-*_wQv>;tE z82M|yCtuvWI=_fg1s_L=`~BiGp2TQQSZt}qZ(5Yd%7!t6mb##IiB_|fvSytKpjLl9 zy;f2yZx3#*q6@lc>UI+Va|z)DhJ1Z#f!R**#Oi{VtKZ4W*4a}x`%sy)u+`U+8hsJ- z@uOMy-?Pqh4$q1Hege42&q=1L7)mnC3K1P4|!Q+1nUsjb1vAsafhE~2$SBh4Ppi-j7-7Yf$)Oj^fXw|VA~8C%@6^pt;jnb}RV z5#D0cU_pL8@|jixT(n>Hz-465V`8*B0F7g7ywXFCLLOOA@=QPAb$<$UZ3LW`l~_++bX5xk>;dEwf7)nnuPj zrIl1Q^4s5E7W`kmv}}J}lo+?R{I4>^cC`m^i6IS2M?#5}h!wJ?tn7UU1DPlQb7W)% z+idEW@^^?bI7i=6-SX8P;a6F^J-8!>pSPis*h)XGQ5U-22Jv^$RxBm1w~_k)UY3Rw z^Ni`|(YvWdv<)5Bh?LyQD%^&AgMMD9(^l5LSCsx+{Imi9=X-af(zKJl+;n|ueTq&Y;Y zMuq<&2#7o4o60?CY3e*>PT!q#t0d4uy^n-L`%)BQB;rGiOk+5-XU^E$4Mp#tWKDo< zLclHe);HyXPGNt}8NI1x`kPiR-n5|fnn%$JjQpYWX-od3fQsR-V;(txD*Q|scrU1N zh9S6_zK!s4tGt@5OOG7iJk%VZu!peB_7KLLlBAn%=1-jfHdhGRvKDb2m~RqoKO<%; zG?eQ0PF`|HX4&3qeGF58vSPNkGUTa+dreBMWCm2th39`EnHUjBtD#bO7t9^mLXNcn zZ5o7J1MZFqT0NcPWpA>uhh+(beC(B%R|$pk42=bMKQX;5qnMwCh&+`U>y&X*_*~zx zguvAk7Z3O9?X+@2cxqixzVV*6-+kdyG%jlPMJ*qO@nEtJyyGp!`!m@zl4wy(%my2brEHB-IVOJ(pVON|(g(=mTddSeFyjNS66OL6^MUTBkRft(*o zZE`*2^S6tIwUT!}+}%#*smHZ~UL{AQm%=><*kqghlB1VloVUE`v|XT=#Tv66Q|*u{ zF{LJo@8hQ?Mk?W=MX*p?d{Ku0ZeUe@y%WwRSbA#KPq(2lT|V6MD7%~Xv-}5meY$Pa z_04}da*oirUxDhDrBOu7FFjXi%?#!R_by3GWaIdJP85TA?&WD`uhM5VUVx>mrqbPO z5xJDo=W1j%E>5CZ(%au)W!Uot0%nKZeA;I^$949F!w_+HZnLP9S#3Q`@tV3_mo1$; zjy(&qXLBtqk!t?VU%P)lc`6(X$PgR62~>YUs9^AFzr1vB30=a)(GUjf!v9JlJ+?y7*aPyF56*FE_bZkLlb4^L@i&BGCLiO9~c*5#R;x<8D zI3?yED{@;q$mIIL=4qB|jqbhml{?O@&6NrK`_~d55E=7Ocr2d)iCqB$09l00fG(dWHXRCqAKL^3-X*eVq z1$yA+mPZr*$@?Ht!zkcFjk3afSWZzY>>>Yg9YyoXbCO2JYXtFi3>9t8<=UDeQkVfT zQNxExJM+Xp`2Fy|Z3_Rh*c9Gb(=2ieYPZO+x1kaCmcIez^(BOzBRhX&$VE7oj*)KZ z7z^{ofiihS?L zug&Hv(zW?qkJ*yHux9eLM2cN~|B}Z0pYZ=vlW~vE_zHBBD<-CQ!y&k%) zs(uDB+c1WbSJxT<($$Bwm!Ogywn^c<9Ws(hsrE3S7Mr~e@Zb;OiK!S%8rY%rp+1v; z8;C6w%mFC$L2krd26+dfRkFK-gnjCE5Vp1dA*(i29;qW*W_C!i!$^D4rDRZ`YHq}` zt>iHA7cT$({~>%xso;AdGY$i!HWjw^x*xoZA-r7PPgB_dGli1(#22?;QiZoyRY6@ zrf{wodH3vK`(?GvM3mY4>-O8%)%>v<$h*H)vrlF9w?A2?u_Llyzuo?8HM=jeKfJLQ zIFmDAqhCz1xN41NsZ$6Q$f2NGfp{ zBm;ARHlmggu1E-j5JW;4fEALzFsNWcV%&cc!0??W35?iNlETQ{BS8%96N!p(M@U}{ z*Pb-da1lxUjIAeWpRt-}BthPu=0!SYE8=6s(+OO5g};Zq15Af!XfB3-wH4Ivb|ZCu zRA1Cg!GE}xN=es+QCQ;qV_84h3VQ|jW|E}En>y7N-GYKQtXojXq=iTiRqZ+!K{Xs? z)a+ThA>K;G|5e8Q_J_2XNLceFa+xQ}+9&{_Tzy#dl8ng94A4N@rg(M;#zNI(xyS1Jp!^@r6JlbWl>zo6$n>kWP?O}DcW2VDfGf^j~7Sr<(6$%bH;PaXoB zEGu6K9Xee^#TwH@NvaDOIWy$_gsQE}k_zq_w1i4>OKYwwv`12F;A}8tFymr?H_XH0 zAR341)X>glcsHDR(12>;g_S?T2st*cNUynVujx9~nt%vUHytR3%h?Rq=UEkm*4H*3 z0T8WuJcK<=nFQf~=pG|5lo3;2C*4HNJjh$yT)XG{;iem|tN?^%hXtH__{V4K1uZ(o z^1Az%#Dl7v*chj2zC`&>7DNf0p`JD%@k|Rqod66@LzT%Rj7FOwKB?Zn??iB2K&vps z$c0X!qYyeehC3r%UiN~ktJGmEBpsatnA@(u?!ELkynX+Fq4(N<lQSb-$=Pmp5iT(M={=A3cZ{YvW+2?P#II`hiom@pLd*l7& z{jj;|<`)re)*DvgC-&zD_NVWD8Nex8dfDsyyD)^ea8Y^;zx$uI*Z_LYTmKWB4HyXg z*>E@efPX%JZBo7cUeb+nWJICjmeco7U=A115TU&uZ|Ut8Wb`2SCFYPmC2^}z$7pT0 z$H#hsr-ct~+ItJT@X2RKbh^4vA0XqucjiLB$VOSC>~;7n@;>ccnN{AK`j{qx2E?`y>9@ z@P5!hH|u@4fByqut~Yc5E@?Ay7(YNshaChuJ3yiGvu})gBI`r%>H-(Do|vUCz=#ijEjF63|iZ};zi zKR^8O7=W4XZEw$^&$A#I#sJzExV#*1a9mGl2A1z~tLgqX)(L3=9Yx>258c{p!wLA! ztu%2#O>lg3fTu`bkJlUvYDB|Nc6FC0WE4}ag_kHp5MPe3=trImYzcqxSKgGfUwrn$+k8FMThtdqj1{HI=;;R z$@#)3)4R9s@!42tj%s^oYUgfpoFXpdgWd;$)nkhc`}fIx9ML7>su{QhI7`W9><{oh;pvmD0jDVk{sa-|1pk;c<)|0? zFq{oNE$`8vVQ&EAok&<7coP?8-7r6_vOa@};i$%LfG$x=$Ch2*xIDNssXyMFK20~L z%ggTR;q=(Ye-wa!o$5?qyWqh9&8`yFuZf`)a!d^-UYEa zp}^7^5YiD;JLg2Sa}FO7rw%p=L!An;iT<3iKNpH{xra-@hDXvmw)oO(F)c~pL|0em zxGYd2g^}Jd^_RhATxpgst=~m%H zo?I-qho4hyaEh>q=Co(}QaM=JogwtF#fOEuy6S5xx0~m3HS~ozb&bzHt_w}?T&Ea@ zb?b4;&Zh)_jK0fz)zVH~ZJ$r?l{4?(@82so;zs^CEo8rU%7M(|yF>>>?7_Kp56*9I z56;a!IB&5BvUbYRNb0jnKCcERtf1vv=YKJAX1{2FuLr!b3-}{bXp~6BG7=5=Dsf!O zPlRMw2gWg(0E!w*6gBbCLRz4#kvG7hp|4Tsc2L28a!qw}sK#(9uWOK|!^XP9y1L?K zhjoNqj^X|e`~luARILvyq&JAwVKLs(Jr}rcS6#c-EBgY&og={%9j3>A;1&1p7m9le zsyvvuCgk;jmjr_RmP5Y=e8ce4@bDivf<1?R;HW3!o*8dVIDkz2F|PO+|7^I-*7Fn! zr~cZ1X8LrxnF9L9(J=p_`C zfTbnL7naWa!C`RhX4NwH?`Mz$2%O!in~dhzfqqXlzZGq!W4+$RnDMP=Y3feP14v*1 z)5Ao&GcRZ4%8lvK>5|0HQE}5Cc3xF-mYl_=l038aP-Kt>k5bwY&(W8sbU|U1TLC%Zi^Z8RU?-TVh`# z0A`2rVlx5xBZU0W4a<-}LJmH{TM>SLO6b=&u^x#8UfmIk-Pm@-Vme~vaT)j=0HeWK zIGn-``_JGj0Vu#{Sp2^9&X^AD3EKYvlEH%k%XFgqOJ^qpQ#B{(?X<)~cA)tA#wNx= zvrViXB^2L3d_E}r*kV5&D8+=bA#-e6*s!cB>k1FoC+Ov}^~kAdHSiH0?6!4(5esN_ zb?3^2RWNZvyxd;v^$0l<(b{EAFjTTYBg}b@Y-SvM3ZWSo8X-BhOP@l9hRmy}7UPBt zYoSdy(mP^+n&xPT=umeo4P6>;rRlqc8XzyOo9mX6nBpHZqk0!+7!R(&Yc?L?R@!`} zUN$wy+_t_#Tk33q8MGe~EnU@rHQ;r0#%p~ARu#uh%hno)G0dcOj)iSpEuj0E8TfWh zQqPjA9CVM&T8sO&)|}-v`l&$Ow2Ffot6BhMGGEx|H}{1Nw^es%ngu1r1g4CRguD#Z zF|K-V2UgJ@zr?FTBkG(L7LO8rJx)VW2`+9ZkQusQ7jQTTp*p~!am}!Qq4Z1^YPb=V zb1J!GOn;%;fctpc|H7_zgNUhUXORLdXA! zAyYTj8Y7r;f}{O>RCKN8X)Wz=#I&6S`56m{s_c2G&m}6~S-?owGXKZgOx65VaH(34 zWn%g?h&l5&Cf2Y3`Z_g#&YyL!@{74B@KZntN3*jGnF!-NIiGmghMD)C8S_eN!!p!2HlT)S_XXCW+YzUu zh-24#(+V_qtkMd`;d6j;$NrYWF+8^=Ih1@q5Qa{-I3)J&v z&zJa#tU8KE$_!kiIhWkm@=++d+S{nU_3fK*#1y;FWeac%d6mr(q8Z8{0Xq!S)X1Ap&} zuo?LAQhdM>#P8=uObtwVE5mLegk#DlnL=a2q*rP<>@C>86eHr_yXK&H>Kjj)l;Zb$ z)ec*V&xRm?|GFu=-o`L_UNplN7G#PQvqdMQfs!46-5h2|HbgJePaDbmMIaZo zS7d-KToqW7TRQ$?HuuaL*cK6+i8<^+YMHd7#!Z4ZZ7}KQ-n)1%M)aEI=-;YQ;1XM8 zE2hYQ!zMGSG0bO@k9k)6c?*e3jeMkJv5LZvdP~=HEiVgj*(cSLJXT4+kzm3ib=lDp z^+4(*g|Og(v&AJc7j`=s?^30gyrJz`*IDg&XLQK&-XR_#acrVgySjo5mDBRA%AtS_de2UJD z6W>d@yBso|=a1hUVGsqt1Bq8&=n9yuhFp=>?V3#+HjTQAA3*`{S6quZ9j#c0QP7Ql zt)io#rsl|xR*QCopP{C zDQ6&@PRI8F^!(7>iWtc`viZ8J_K}l?JsnvV4czTbDnakm)wfT&$IiatHBP$*iKkqk ze7IhDZ&=sdg5W%tau zUAV76*Xehm(Q!BYjsD@AhK@lpooIOjqtiHRdyLplh96h~Gz_=HG%up2a zSpvhgNf-W=*!GN=t24<2vEf!%;L9iq<6+M-E>v2f{>zy^VIuiEb{#mI#DF7O_f8zv z>$d2X?nmw`9ZQfGLE$nzHUvD|^u;S=x&tnXob5XGjXxU@ktEtp^~x1s#-^BiYFH)Y zQRSudOtZ19>8nX>lChiMrzpICC=0gbk(bUPt1^_#it=TJ2I)&yi{#tYwj-2wb#YCR zGP!!#S5Zx+5+dELkWWdslp@Vp*(r5)g?Pk&bzYWvYkb=a zU~!yj$tRol%5|$z%|m~nVpuw_VO)J+?bw!vhA#x;`G?;=yCu<$>wLlLIu*(uAuK-j zoELQPVZ0(BmFQcdO^F)3oVdUq3spZA-v{C6LZ;!z%rF|eDA=bAA6 z=T+q3FU)C(wqO%qRTN3B0iTYX9vC7DZ1!DZ%cW^nzUUq$rAo)o?m{@SmlfrN6;{ zyrr|=c)S#J+~v-a(^-~<;M-m5h;xxRnKK2dP#RaqN{+&mXa+HVkj5Y3)TE|w6*&8t zDh-l`sAu+SJh3^K6Z0W;+H5Q7g$^2Ax7DsG zb=>T+y*Y5D-4VOy$?ZnI9a=eApQ_GEY`@M8N4f$h7tXPD)Hm z$D4BB(L@7zTnC{LrSiZ`dN+Rs*Jn02gh+!b=wWhlKXDVLn-o)xX-W;`hD z(1|M25gz2!n$@q*V$n&@8}+1g6)oukcT~nQoNl7QB6etb2gZC%`%=^}))ha9<=+0+E*P?>v-=X{LP!`w;3Q32@SE?S;WhI3(Vfn(9)4-mz7g{eMdv1KCiHn-02 zCf)Y$;#3X8e2_(quD^>N=Lqp`j%*$xt89gTr`u@#&JJ#Hn%~jE9pBBly*rEm400IU z(FRVf2lTEmjr9*or_%J(7;dhUi_t3*(LDill^DM)UK9XdWXK0{abY;2To+^lQ?2Op@QGVRpHH zPv>)vExpyRfn+?5c1V+=!Kl%hm+*N;gfFr4N$yRMyecX*~}mi>?gWzIw|i6lcCP81t;^t z?!`IOVE-Nj8L(lhMN1X~z7UgeA;M&Tj(JFdjuC|CMKT?0 z{@B^)V&QhEO4%_$>qu}_n|Vt9dzhuIRK=@O;^*l!A+2o#U)-haSd$4m_4tT?5RdU{ zYY9DMQMaxLku8zb&7ju@(}^KV{*a8Sz6Dg`dPQm5YZmmH@A6#w3X_om6ycN%h0pqY zIvDuH%!o3?-}6ZU0?Y6%ll2j%q|^IBkPXRqesL+h-;+)cl<_n6U8M9C%)FZDb*#Wl zk3Xbmi}q%o)%K>Hm<+PvYkB>D3jN&A>=C#ZX=z2YWPMmmz5}kRpB608W(nF4=?WsKnVf^y(b7BO~eG389Vz{+7|n4~kr8%g0UKpT}L;qNW7 zv?Yhg+N%~gN2^@bm{Xb=rn~M+sYrQUSgETuqbYBQv>^e`l#Ck(HPC^7IsC@3Zw2LG z2@c29W<<|{3UuuVT@_$)GpK6pDUhTI>~wAX@6G}d&{XA=N#)HF9cDLllrJqM!j5bks+3z;O1M3OtZuIa zt-IN3Wm+tXNiK)xw{1Rc3GsG3EB*5#4#&nyRdYCFiQY|d;!Flo7g z)$_B!F4ie`)o!uD>@2>`slLtT*1-P{(obQcbQG)L`G>$lVD36_R%VJYtY@RFabbkW z%xR2h<|RC)nP_P0N%%@<*T$ob&%#DMY4X^HAHE?DP#|1?)&k57L|~4o<=*oJudKXQgLMcP37QW`$9-Jz&KQDH|=( z>vX`a&3$`+^1^spRkaXxn`*&A@k`A<6Ix$3=K@_;U*Oel7K|G<`qdatN<(%snKn%8ui@os*Z>HxUp3?f{V;CG z4x#0LhMB*Pl27%yd%>h36Aj9nvYWsUa>Iu6x|cSL`E4`YGU-4={-pRG@qS~8sOez7 zofeJziC&0KvtV-8T%-Y%;eu$&Oi!~gZ@>&cPSc{Hff`a&<!N5;Uyd zesLK$R6fAVb32%`1*}vUH-J7XlFloEh_FR}Lvym3b$5$)-lrFHO6)UrfQC}xcoGLq z8;n-Z%~u`@cbjsH#u;OvkoxQo&FAx{Xc*Srwl^eQC|weJiBO0M`H$IL6`J|p*tkjZ ze52lLS>(2R}*!2*}?uoFxsU%^`05$yQZhx*9)k-*lA^9jh3VJDXgslBX!(7AMU zkA5-trNVqm71AL|M5A|@=7Vvdok4eyXCvi6%3}#6=_Yeu>1ruePHe)GZ$9b9MtQNR z6cITUH#U`$r2=Iifm0D|>E$gv{x@1g@8a`)Wed7za80~lCKp$lIkdNbJGuxw=_Rv4 zbPn03X}-9ep}IoSq~wn27)``~P<1jddBG|>Zjzq2(5O3Q8Ufa;=GrsRp;=Cft=hav zAxf*Cie*F@cNFDZDDzKY#EH{$VGy)SKyvK^s_?fxByZ^FGZImso&sHqpL3RgnJ9Mp zlX(vMBVyvHg&`TRb`*vhk?yuMdRd2hkjEVkUqU|UaxTH0u92n z)NM0-?VK4}>~5(8II7WVFdTMVLUuV*^J0dprEXvt)`xBELg>X?o5#$$KG1!ntL;)< zCzhR(OzixJAMSuGunr+Ql&^SF!r&YJCp>}~K@+3^V!zf3M zFGv1DLdk`*A^nwEPs?r@oVq|Up1o(CzX!B(+<1Iki{9Oi?o9u*7 z6bL^Zkk76OMx26wTT%SiAkm8JRLZVXDY#Ch^g5NMlRU2)f5~+!jjvPb^g5Mxu2ZRh zol0ldsdRCjN|)EEw0Dh4o9J(4GA-E4l8^CE>3jPu9DM4hpZ!9nq;Z=0nfOF~Ptqok zUua^8Ty0F&YwQ7I4E!GHrO@XtFn^?fOkXdfA+QvrR7~IWB0_4#^tlJb=ozWO(&wA$ z7(;dB;`<$Ee_zN22&KFahEYnYvHUZE<|gtpge#UjgwW?cdm}%U-_!m$V!l4;`yhz9GM@V!>P|WHr)MO(1V|c}d1X z!wBO;qYtTo1w?BZs;-?lC3JvIfN!$MoEa3GZumiiK(3sP1~K`&EagN$VgIas6zh~& ze&r!5)SUCV$Xw5u+Pr9gHz6BmzG$jn&6Yt=Y#)G0+kdax%_^A>Dn*{m+BuWS8)j{( z-J_{yi>4ZoCS{{2%L{3f76Nn+$trEi!a!P0lk^p93}2_)tdfL>hKdpXq>p6&YaRC@ zB=JrlcswdhhU#pPR)C=_rgKMQw-#b~SZW_uJ~<`0%IPQU`P8=OyrgyOWnOy-s5zM1 zh)i@{u79#MW>uf-b(rKz2lHc)42=pRpm7PD6b7gTC)*-ypQX`2f3?%|(m_M6SR&(L z&>Bivy#qEoY7P5nxQ^z9B(iH?Cr^f~ z4l;wxrv%?e+pOUzPVunpres1y{v23oo-#0z9e+!V)Jb3ou{sSVsIh$QK-jZybe9!n zubHH^EZ@O`MeGD>&x{zU0h(qJen*#^C_BBBr^+y2ww!`8wAb9j;@;{`lZ%W{p|OJ$ z8@28_b4#YgO~5s!z$7k-zt5xa;%!23fIkUtV8dFrl%fB*9Pe36`G|?!XF^X|E#&th z5`SoASQ4q%y;$3Cq|DzxODC;&xr9><{Aok0YWpjf^`@>w9Ye2+J{-z-6-N_e)n2!* z4a^D-1@=IKHuT7-GDoM$&~_Dl=v(hycD1We9W#7)q8nR!=O7DPvbUX8palOZ!w5@T z6v^0-Njr}#(?JXeE=Woa2o#cWwarzxwSR_LYTYAT3+0s6xv%FKp%ofRW`>Nk5f7w} z^oPXnIe_c*Jj@uW#qT3n_<8O?8<~iJy#gd`KLPYer(_-el4A`_*ww%i=*e_Qv0?y3 z+3PG_?)aQV8R&BLj~Gm<4Wa7~TY#yoSd8}sn%nx*3E&*zN_J8}2 z`wf|-eo&v!4svZaWz+}jB+pvb)~iUsh-1s?k8&JFE6>F_E-iSyWV!H#i9-Dn8%&tm z%4V65PskqCT>W^3@HVYzm}er~?}?bmfu{l_<9AvK12Is zgM%y->W9;$z7f$gy*&TM%OU1ZvmyUtT=vT#PEW(6Drpn{=>g!!hhPcmksTG zgZ<$t`TgF zSUb~XmK-24niMk8Q=;46hocYVd720^>Ynb+zF1#27UG`Fl*qVG^-zJE7pj>vPqd<$ ztJ=b-l-wcwM>r0o;TcW{^@g8|EEv?hB(R~w&VJ}f! zEOE=H*Cai(NIPmtCQfZgBuQUu0QD+RnSWRZ1~`L-&5Fda)&1w9>bDpreX{T!0I^YX`NNbW1)=l5AKD!AiN`c0aWr}S$=;v|-e3X_@m z=<{axC*go-UP%Yzj7U9Frmz~PiZGTH$5q;kKciGAFP=Wv#gGgJ`z+B-Z9IiG!o%c$ zSVdiZ8RYdPOR-#?#8nmdt6k6)K~Y%AVgM#uYFCDf^$(GMMkDmj z`|9(H(u|msYtc)J0|(ZUw+bXwD1OF&(BCFupZMw2jh{waDVt5<0O%dY$6g5kxNa}w z-|l7@=OI?O2UQ~1?ZZ|1X_MCqpcJbxiIGivimoz!UEtt6ONRE2kI0j}Zehl)E^qsjaV5w@@EwsEubyam{$hJ)kY#PV+ z{A8;zi@({YW_zV%M!4~ac;t+K@zv)_%M2Kxrf}AnccUW2sEAir*xhD!4;JJ8{erji zJcLyaf#k|~ltlEkNsX81c>jLVohT1^)JmvV;47t-u`;46pRcRUfvbohFIFfs3bF-) z>GsTYMw5G0C!*z5QVU-ysg}O%5|%A~FdV+936{YzVx+*{YiHLnGKODVmPU-J*i zFdV^MIrQPc%pfosRnIxG;;81dhyp)Q|DC z8?v=e%Gbg377TusdWi}6xZB*%crclS$*>Ij3(j6|g>;$fPt~F=myTK~giJMfOslXl z6(`0E1^zKzn75Q|PxU~5Kbn)3`Of_6U723Px9u=IkTRi#{1m|k1wk$76v*lU$l}|F`8m;{j_XI-Lv!20Y@2D_ z{R0&p+(y99apN4faMEjq?D<}ILxVR!5m{tPMMlygE~D+e+@GR0UZ*$oxeuV!<^w3; z4nC4@NGZ6c#6m&Uy=eiYDzR3R^i#+`N0N!y&BE}X%$AKMyiU_k(+QK*x{3jPlV7_Z z0-p1efV(7r?aijn*8O)IK%L$EEx^EqpPN_crA*-W;+{cbR*Z3x*=PM5I$3&%sZIb$ zeYLYJ3i3b8ot{ivueb80%1tGux$h)PCt5f4X1`}aGK|BlsqC3jDqBP^$-qMt`vAry zLR@{VDJDIUib>x*R;dk&N!|;8Xwqfd<%DPDgaiJ6jML^lOTnL^ozkZlo4!(NVK$DT zU@msaLe+Sb;5-IdsLJPup3&+VwR+}Ur?E9`jH!hx^5K-(*^~;vp#j3pZkCQ&L?i!&mc*k_l20v>20R|Q+v-n&1j0_+x!7u4e3W1T z2xhi_6R?z5L`=xaY0=Qt>kxl>4C(DAvz-#vsV2+pFmGcW-}mD#DnPs)IVN79((aat z8z8aMK_OTNjt9CR#s-pVp>-+)Kt8WbB{kQHG!($d+1lpVXKNiv6vo&FRY&=3%B`|9 zS&-Q~MlN<)?nR)6r73YZw}c#?C^Vpy7QcRfT+ubntZG{N3%w?xuA<~E&34&wdu$4b zTy*ec06XZ$Z21TWx|+kQqS`LXiL2MZ*;Z9NHIxTgYL~;(jq$D8odEP>7`fTr$Q!sY3pm3SLANYFqNSUamrfqBp)5*JG9f5|Dc{bSTl>~><{s+$ zl1(8eHD9qnQDt6SUDE+u)FFU?lzNbVo=Sm^NcD@uv(d%g)Qe#e>G7~cbPcQ!9}Ak? zhttb`ZVh@)(?J->gD?=#JkSopfMC?4h=A8A`2%jwX!b3cz`W+D6yjkxW<-f z8lMhZjeFs1`(%nP&$==Lpqhl z@sPELu+11H>qrpTByS?xR*#g!enRE zp6k7E&d8Rra`%hVZUSZj--bjA0CUgV##2|{^|NxBuLM za+$wI$*`%Dy)c=ohYD*pKJYda;ie4IuRtXqwO_*_qVa}S-Z2l6O+(!u0IA+s0N|@B z|6>*y`6cyW!<|9vfbb}vFU!(m?RiQ#P`5i!&|J8iI>Qa(HeGaO>bbjr?F3}%e7MZ{ zyH!9oM-bNdh+qoAZ14258pX?G=9#P!59yBM{fSu@&2;gW{`9YvnsLR+i8Cs3YC=zO zVx?zTLCFsDGT!W!+%#9!E3pxLlu zZpYhwQ5iC4W?dkw8J%{26C)U*dBk-9b5qj|oywAtNJ&$XrH=F)K_m`L`w;SV?Q#Xs z8RPdUdIY{Y1MOvrM7$sVq(O``Ng)U=5s z8{;L6gv`d!)#W~$b%othEiTc#1zGqBBG5@ANXfm3?MEBF@*yZY>~^OP4PuM!x7 zC+<-tj*WO4`sGZ25kvCt9p!~d4XAI>aB^`>`b|q-)a!%!XjXaRml0hownS+gZIn8% zW!EPgln;!^XqjA0V1(T9q$tIHVcsYB4XqImmf%BL{gEnY@tjg;nv~BW0PgB}p}}(G z=1&)OzLb}Vda#=SKrJTj83`{!aU1B~u_OV&@iUmw-Xd6fJ-Og@hPP3QnC4EfcPQ z%fzsTycwwKNSe-^i~USlM4u_`QmH)dF6(mQXQWbe3Aem(MkJkrtP!E;@;25{zgT1t zAc#JNAy#EjTTXd66W8rIe3n99M3Y4r2>gk~Y`bxPdJ|iDnx0-E1r&aIrfAP5aG!7> zH>bJ+usKsMNNETId0$j5(cMLCappksH;M#Wmw^0@dg6S%)?inDTZ8yoou-EkV+iZd z()p%4^(Ri`<=)T>G)nNP-fLRL zbJxAKaXzfR-aL6!R;DQLLUqiW?3J#BJFUBax9*kqc{B4*O-P8z-m_-&opphCrkify zM{ueI#tCM|4M6t`s|FyE17RPBMJhdzbJ0`Au1Aaat$thYTNA<1qbQ2$i)agOY58L2 zECCPw4iZ(#@|Ew0j@JZ#_x5?^@H$U;0!%0Y!|03E+PqfNK)V_hRjb3-eJ zrTL&$N&jilatUv$8SAc+7R1F~(ID02IM`hf32Qjkz>PP?v(c^M*(O(r|5|>G>@r zsNWv#0+i`F#*f1u#D}2F+-4HxC9#`c|dg9}6Yr(TBdje9RRvZ-}TNpd3H}wjQHIyn` z&eTu6^6tbQI-408>zg}M)JVkaoJ<`_;LT*Fx#7K10GU(}Cn-crSr>V|n9(zRY-?LH z16dmQd5QL*O-g-@Oe-9JvkdHHd{f+_d%%38c26Tsxc8vEeqTnLZtUmIz)R(>#1sue zqfOwOpDWD`lFQ@^3#f@((c_v8J*vbfjiw`LjLFd+Z`U6h^b)(@{YuJRKiqO^$b7W5 zdxqp>5;ssRyW1Z~Z}yQTOhBza{kr#IF@IOr|Ek2cx(S=h%_0qdvT0POLDtNw3fsu} zL{g)X`5(@3{+D|y=C1@^#0i8McR-jju(gQZ&SqXUaYy!)0u}}2%NDil=bF`G3_Iq zI73|*ObR${`^VmYdGKZ5lBum5G-Jp$TN07eZUHw0;I=(S4^JiDfhv*QIJiQ&eEda`(b@<_Z{*k4v`D|}vAt@HA9 zY~Y!d3azu(N-^Ept;~1*n<~}3v7uh$9zPM!v$c;ioct;_-4M1@34FqtlU1Q$s0?9P zoUeAFji%k5G!goZ>KRnk)-VZGkZeYE2vv#Z2 zA8RzS3U#4>J+VFfx&byBYdeDW_?(zqOZdh~lM>;G9#!Nr(#wuWyQCKx{Gx$z|CiOl znr|+8dRs!ZO!H*Y3k)}z4oV3WeCEYxz2v%~CW1S|t4INgM6N^>#Y0 zN+Dl-F2c6L$~hscZvTmCC(4;xvRnp9l9!`5@x9o8yr~eBr*vN>&_NU=g-M~?h;v(C zDzk=GH&eARi_>H~y#z!x3|dkUp#oRC?sZtc0oMhAr?H2;Pn|!MN&lJ*VikK3UaXI( z#^bd$yn92XB9(lxl-&%o_8PAX8EhTvpvZtSE&TE!htYTi}Ani)WWwK|Yi=s8lC8dm< z6Fmg1L(ENv2Fj>`0WE6bI;>bIevnibJ(*`@4J3#jXUM$EA)#6x%2*0AZRk%aOz&t) zJGJB0`d1`aN@^t<8F&*4j3Eb$?v+%%QfXgcuh%(&u*;N*Fl$ymG$E;8^svX(ge(Gx z3rB`Y_AVCatX6n%S?Q~}Eo1k$tlOSw+n!Xnz0k64J&2tzaN9$+`?8syz0QoQRl%xU zF0d*MDqXZJjeG=`f}F7hBm}V6lV-{v0hN=6$|V7!ldQ^f0kxAL%Oih)1gBK;>Wnr#n zV#ENRi-0+UrafNM_DokHld4SAQtCu@?2E?{@|uYn25wRVM#Fs7k_h*uv$7|9x^;~C zji#y~QTR971v&?13gJ^-H+4c_k^8%er0fzYtMuvfAe(Mi8o1$*WhxKr26GECQm513}|Y>5oWEb#i^$70D4N zA5T@6KjVb^*llqB|tKgDr<>fwF2}@SF+GcBH+#8 z7lt-|VcLJpFATY4s-9mMTE!l7n`OKhTiSF{XwL<-Cz?EFVbX0oh5Nfe!i<~ITO6T& zv)+=eFi%$QO|+ARPEzSXLcS~Pu;}rZaLqCIYkt@Ijd8whki6UIQfa6%Z7UYe>N= z$h1K<E)e=F0-OV8=UNU)?RQnp6 z78ie2Hy-vgA60l|F;{w?W0o1k4Fm$^16yN|pafGJ-!@p=aZ{AwB8aR$?sPbRMq839 zd+oGhuMIsU;h?Rzylq^XXKoG5hgO8x5(y|R2B%QE4RrjOW4&n{qa#GyNMGQXcI$?9 zZPJkg$V3Matz{Tzrl2n~FxE_W`$os|K#PABjNiNLbn>KUw4Il#3`=-saMKcyOg36e zUM%Kg$!LxkqO&j<`e<;(_#@yV3+*$H{u%mfGg&Rv7^~mNnpo$nM64MMSEn^H$-;B` zRPA8YQ`X8b3!(%gIow-kr9(VqT5Y4{BKQ>M+`5kv(EYiQFqszodnO|2DlOZ9-u-{G z%P%nf*#OTijss(GMdJ|GR2L7iV;|1EHP~QH5F`|MH}i`K8%Su8+%JOw7JjWKz#D_I zQqp=47KxVGOVny_vOvL9VuMQH%JUN10w!ulc$Hx|3Z`+P*P$XItuy~pEzA^bi*4{i zv3INo9RJFS@JyuUI=!>G@)9&sH7t`k&>CWU?+*UvXCB6~E?(m>)DctRcVk8Rg^>n$FRKYWiuE*9vGTH%0FJ>h^Fu{4CAl} zx5JY8KZ~IYUC~0_zwhv0)C*>8iIcU^EDcl)(Cwx2r;Af3%<@x{?$99t6O$0pDG@CE zsWWmn-2jM?K_3H0P{*5-O3^C`>E1ee#pb(If#0lkm|R5mQR_W_P+AG}I0^aINeC=>(G-(m4n{ zPt<%1o>!-nT+$_f1vaY3Y>GuuJa*x*mx}KZ`<{w#I>9||mW#~!U#S4xT}gMB{hSil zE1cILShiNL76-tA8-xq+5yG!8X%5BdW-W>^h+Uj!`%!URq>qYWGVY4t=BKBPJwny^ zpyuUB#{Cu%zMIabNWwrB>|w5?gPiJ$$@W7R5P!>x07@i(F$DX9X7Lq*J8Y0QK-vHp z7;XDg2o-Je8Vd%*c9@hy1yjm+)T?cjGQ?pGLLjgPN4Hapi|P%Ey<%SJ7~-Hu})dGy-ao%82X z%l*bqq;1oGN{QNnl+6dOby+sM>ItrMSEby77(-9Bl13Tt0zlK5k@v2yjQpUKAF${a zEIJyJpvZyYVfvY$?~ffWHIgx`PLpZ4=X7WG54MVaP)YB=d<(PgxjOlSR; z?Dj{^w8v=$d^Ip*-S%4Ry|SU+G}%qFPkv~bIA-jB+NR7iZmKlW>?zV>rROfFRARBg ztI-wd99!*+7BF$DW*X*ABGl0$27nFbO=WeHYa&Wzlh)GzhURUf!M#~6rmTi(&|*3n zmQs1?CKK}YgtX8u*TvszhfGN`#2oL|%sg3aTN7z&SUd}mc+XU)){O+kf=3J>zb?Ii7Dxy$ysqnsQ*k zA0tt5;9!pHnP+Y7)P%xKq#Pe;-Rw3y)H!I|i+pz%?icDFFhizFGDH1`HpXA}5y%(t zl7k24_r}}zHEn52qc3d+g}YGkb)E9~khR5snagVBeXT{cD(4P=)OJpVM~$J*q;h*X z(vLXd&XlMhB7Np`lUTZujyn>U`w^m+DAboE)yZS}Yba0lA#hO_(oIfE8t;QB59!Sp$SBe|ArklnYXk$|Z?lGx0@$NSVy7&|mf)BHfDzvLDOGGSNf@XM5ak-~OX zroR^HK!eG|8W_vj-W$RcS>Ux$zhNCPv&(iMms7$sia)8~jgO1qLyqjk!o`S88zZCg zt{W+L4tZ^cOp}CkNiZSEWF<#uB85PIAF)V(o_>}BJ4@KOD)Fi&+33oyLHJG4iYU5O z!#W8CxB~VhByASjizS_hV>kH%$bV#j!20~e6^eN z$Z_v()?w-4L(RLC!$q@zRl>pLAP&`>(0TDBfWC|ERx>MVceAk0t1#wOl;&03a9-9u zO@yNa+MX>}Nq$M&#;G z#&e>EYp(KHKxf_k4kaJ}jg1ir!P2xQ+$xg{)`)%LN?36%h(eDNwP8B&Trf!W<_9inDvWpHiG;L<(?E4bXB$k9g}kohv(Ykn{-(os5?;!<1!A%KCQ z(WkYk1I;5+c3h#=fS^>D7IKCQ$TCe3N$FJP0%_5LW$ zh!?`OAPy-So)F7~OG-=>+cOFdP8&q54z^k|wgh()&meWg9)Ko)G%p4;bbs>YBgPAt z3TXt?L#dmt7C4zNuBZVMPPRfoZLBM}?w}-J-x+V6Hp0KC##ZL>yrVF;L|E1{f6x2H z#Fn*OfO1T&q~jKpB~WJV)S3j@COWI8C|Q0JcFRQ6cc(;)xQL|#rvpGZ?jY8M-*M0n z;|`M3@GzvXDnoR zc0xi0)&m_l=%3CR{5@fAJYf+?9fAUf*NlMjv_YUgDXbTNY1&MP+QyY4{6Wh^sD;*u zjvf6vp@Uxx*^!3hP6s;t3xth^z!dU0=*)%y1bDs=I&tPr_xFt5zqLiv`p(2u+cUrd))oTfc;+ zB?ZScv$au6_1a!fUkCrZw53&^Rn1UR)5^)vqB_~*`MJy|LRnu$ImFbRSZZ&+*N!)( zQf;dw!%=B58Oq_P-US(Q#9el_Zmi)_8#jT;x~?sM=eko_mLa8bm3*opQiCSZx(m^r z_VvV{{tF25WKvWw+w&r6!(NUvQC+?TmhJYYuMOFi!)$o+|5qAjtzy7`bt!VKTEl$P*;)ZRCuteCAkcXCgQB5D$WWIvZ9-&*B9eY@TvY{ z%5n;SA;{L+ddNL^7S^a0zt3P=^z!g#y*$>Z{KQ?%8z`qhC*4;G1!0J})%}xoOBgmi z@zGj?)%|=gz+^Y*NAwmIpqmHD?C2HAQWPkEJ=RZZ^ARV(Fu>3-(`qou%o3_6^$WwL zsu+Rcz%=f@_;Je#M8ugX6X#}fgL|dYuMf6=L`WV1Lp?L$AsP5(CQNb;u{0nk7nKKN z%+xj{;@1X7Q;+1_2Ce4?VAYG}&#lzp_vIo_EYrU+bgqBJk&Z~*WU^*-lWiaun2 z=qHAC>~bPjh^_;nixd|-!xn-5ne2@6Bu!gv-!UFnvqeU(3ukUN4HR|Vuc4w@+JcLV&Ztno?)sJW4L*8Q9+Mq?-kv?5u2m(l>sdsfA`?YI9{P_q^QLXy^x^k6+}^Ki2r zIo^C^kG{2B8d{=?vAGDko+7%A09_l%8qlbXIR%bE$vM;$M#K;>I>5=i3j+aP0!1?* z+&Hi@3Kxik0`vvTfQmB?BrD>7zZr-QEFA2mKSeHYAkdc>=4F-3yO79^cQq8%)~K(6 z0;1k!h3#`jJX|wkdWU(a7rlzA8>$WTs6t02@1tl z1eDvWW1TB&ac*A=@#B&B@mTzL!d14mjcyg2z1?C1&KoALhM1 zyOWVsX@a>UYhJTqGo^BW4W`;&Y@@MsnY7uEr}uj6J$F{6y7n>G%&>+Wt05Z~5_2@~ z)%kp=xu&2;VC)4q&B_wkmtjL7Q)}{Ld-9V861y1yS})Zd0z!qQvM)i2Shr?AX#-UC zT;e>eSz;S*gt^Wa#i?`IuDKX)XCChTJ?2-7nQuP7{$lfc_=nDaugZkZonJG24%;2& zKl-M+MOkvYt8LzL{IOTu9WKY?1(#z{DT^JN=FY(0{9}7BkL?TmSU}SP$l&4cvK*y8 z?Uf(e+jwZ7?8BA|dxN`eE*WtCpN?Ysz3@=$rTx!CVf|h>t;Nz_=MYz+ye&>E&wL(I zv#s-EdzX(JdoDwN`C|d)*Ts)_wzPMMA1iQYU$TcyQ2x*kZibO3Z49y8^fB%ctV?i5K3b zUwC`Qer`L3cR@RPVO_<&8r9bebF;p%cPotD<6MYqlgimocI7F{=ugud#h)V{8t+09 zTxg&ug$LA6wLu!vGk+ket;tnt)kjdqEEDHh7of?1d&XB+%*^#L-kR*hb%jd3@Ot`1zI*=We_N!(aFKh?U+w~n26dt*r z2^n%L4({LIt-flu+8`c`z4Ry|dK5o2Arn4yR-YML_V>8CKW+Pr{w$L-K+?M&ES}cD zqGkGjVv8zZ>h>%vp$+a~tHC|44sNFb96jr}&A~mit(^7roHm@EIZI(VSfw6oo}?>- zXq@gsgLr5?-TfBrTV`u%|8}0FwOFSQAIaNoZKI;#cu`M&>}|Ri{tSvoLqQTRc<6+GmQF!ydx-D2{cKMA==W6MqPAgJEuBqy zVDN&%9HY3){cgm?O&ZqC*LYkJ)<=PgG(=DY`q7sJkRVfD%EFeiIAl?9n->fOp1~@A zHzzS4X{vJ?6QGXf1}8BCs|f>(M-pD<|G^CL*8i0Z@z#GAL%c_KVu-h9v5CqSLeq&v0N*)rQu>$;h)T3ogsw zvTf;yq~yXzi#(J0l|X6N^P|@gkAcU3&9E%K?#84XtikR&q$$pg?lq*n%aF3C4&4#zZBXLrmyRIcq$(T3FBD}lx`Z`&hxcoTycieb)t+j4SA8jbpv0SXzJR3*s1F2 zh~p^J#gW~gktKZ00&%iLXqZ;$ORl})6{%flmx=jR!kg9Tj&mZuO!X)(b3?Kz`nL z;|K^3GzrEp+5?wj4Wwh<6^k=}0F5%g_T)OU>N?%xF}=-!z-6KJX8+Qe9GnHoY3O&@ z-wyR9mrpCqq0Dd2zUCOe!?_DBeI}jN!4#(sM?7(*977Qo)gg40qT zwp?rbH3tBF=7^pS(&^xg6;VG`3j%O=(NXH$JnJAtvA>3wwgt0hH#VdWQBz)N#%F%{ z$bLKv!?>mym1mA*Y&h$GH-aWL$`giNz+6L&?U^7h<)Lrbk=d0=14Ua9(w%Tf6@C;Q z@}=lq`WH?opZ3QQI!v|()M%pWqH5AmCS5Qk2J+0GhkuR3D32o;n06JMb}>Pn^zGldEmr+Q@Y_Xq-3-;Swdc%rGsajl%Fz^LDdsX9 z@9kRutQLqE=q@sybAIPL356&jSqrshb)~#ObG$7MeZ+jH$v(jjN#N3Co9;DBFBeXq zU3#u_CcHzZ$xk?c_ic6`Z?gut$L1FnPp{{7eqPU8d3j|QUq|G3d>{Qsr=umtCnHJX z6@F(5H^wMRVCU|M0{fTaej4Au&%)P>FBY@@p3f7y7#}exFd)385AF(nlBGq8Nr$CM zc>lJjMx)$LhvB<4N>E>;O`U-#|EvJGIuS@mCazh%@ow3FC`P?4XU(1UD0b;d4jsl} zVJ9=QEj}V+?7ZgOXx$1b3u8nm$7k-AIvrTMq_Ut6vJq>W!P9Vac{vcik+NN&xQ-g{C*ub2?sA>m zt>(2Q`0DC^ml(lj>5{>mah#@=dY88SXg(tXJky?ReoMZ+KNiz#4+A++Dlf~J$d~2;ge;@Szp_D^uS409zWjr_Q}7UvTYYc#2)oZ%$OSl+gOB151DnFv$-!V^fvU1x_2H2O6J{h%vv zOBi*L;(*Z+^-eenrg4$mrUE2uS`=_u1R{^pF{6NuE~nC#T;gn0SNcd`Rp9{Q*?;V6 zq&mMTrWh;$Xzfr(%dbdKvqJa+umK?qcbTILAe*K@Mh{z7Vn{{4yTev2<7@H^*^iKa zkpyzMOLY&asEzk@oe#gmZn?}q)%?q6rtSnDldVhXafATbU54gY)^ThyoglkcFafk8 zY>>XKPylBXw+fjO3bMdJ)Gj#V;46t=B7E?@3Xf`Qx}46nJPUgck3vW^%3aY9HxDJ{AlwNdLtzwH0M=H1HGDUkVpF`yI`@&@RBe#ge;o83+ch^2LPKlUX`ph_fE zi2=JediEUEWs+!@kpthyX1w zM}T{x3Hw&{<(eA=*KQ|7hU&xnS1N$Upqqu0I2eS_;@IgdcU-5l)ZsWC_`N>?qvt!J z9}@=QciYufXA9HAtysJIdx=Dac-IqPTW(~ykl<7oPRFNiL>;24IHuXE(ZMU6@Nf;! zRaqd@+gPBsmW@g4$E1HZEeA?}#MiP2)ov_TatD}oKbfJT1E0)&3{gelYVlgvpCWQ5 z|6zy6+3Ci7UtMS1y`Y_RH=E*OO?aMj-jxxr1Xic;TGl!gnJb|}C(t8Z9VdfnMnX9j zW=r?5ja!rWXTZdU{%JQ4gKU6ThatFwK5tKBF2&=@xlDn(fbTzESt;Fq6TfsZjZ2TG z#;X=X z^-GZ;5+%Rl7Bb#yYJ$cjC7=3jJmn)QO&DgN&@#{byK37zxVxr*ck5#fG{zaYW-I~T zJIdks0ABvl1K77>YP?T#dxWiNKC`3SO465UPSQqVQ%N42Q^@rXFNRUE8-?+ZbZkFx zxjw4XzQEfD5F%$$NmT!0l11k*MUnPQrVTEEQu;&@-~rkcSs-xIEJ?sRN$yc3Y zXTp>a#KpFwA~`#MeYk;yt^pjxa=>Qs9)!M=Je(KYD6WWaTqShcF^g^)GNX&Hm&W}KmfNQ|cuwcpU;uo3v9!+{z+A6d zH4Z;7Vc^|-We_5AR}G!(uJ=xod9N17=`6~xh_G{4%k8e@F6GDs(v zrR8Jgmw+``dB>n}={e9n;~@K#FFCxqZXCH-?_XwV&4Z&YttG=)S~I`Aw9lHBw$k*R zrR4<)Gxg<7R$?b{i!feQdzFt^=f@DuyRguZQW@I938_l!!qX|nm zsXQF(XcrsJ!R?KvadApRg#oqJ#8=9R900|o!!`21(d@T3ghu{1kCn;r6A`6?55c0B z@31GQUWy}SIwW`loE$#6) zb@56NnTb%Zk~kZdWJ5Eq-dQ^eCaiAAzDw4=BDgkHpQnrR{?92Cvta%ipWh%K(7FDy zImd3*GC_$DbTNREA&gqcyPJgz`8?sm&?;PiIIj^dOe(^Ku}Tp(9;bEh^%n617sXcI z@B3}!^h^*h)cIOU;xEeb4w4rb;*LEtMMBRDEnTE-Ych~$ZDb$^i^xEBn`9s_>t!JO z%`%YJjWUpvCK<>pAvrfiAn$a6I(&aH1nf%m?tQ*HvBTTDYx>jOHU07Kntp$GO~1K+ zyQZK2(ZZYG{^$Yx`bQ7or@PzTAMDR*^^!3pw@&)wIpQ%zuk-S~(1U-HZh!1C!}4c2 z(%GG35pDaw zvQKK%{|Uu?(=7HsdyWfe5~q^ z{U7l!AD#aLzN8I@eUv&_M2Fi_ba-Kk4xeeF!-HngVQh#FVQmVzN`;d zUfk{iJ%M-YH&52q9o*4w5sgFF{sL@)^p{*h^1Lj01TuD)Nm@>%#36{`HfHjFh665d zm}KF3luq;baw!ka!{Pt>pB#C(3oO8z?d&YjTpBR0c~+i~Z)*>o{I#Bd-)>D^EqCq$t!UBHGyz zM(jJvh@C$)9`19Y(g825OO>X7oC;_E3Zc?Vp|0-mbw6=_6)Nxd&_9h=9u^H}+&!Hl zw@7>)(5rj^+97mtLiF6*Ig5tFFu^B$@eAL!)sCrl#XdF7QH=*+cNAsgr3~#0>IZdi zu~Er|zU|dqcMZtt43NE#|JVOqMbM$S-)hG{NeP~|g<`3+wWo6}#Bd~k&kW$4p%C9W zd?_s(M7z#!nqUwYs~|gWZC5T<*4Neq%ohE0czHsfs7bVLuvv zw+4l?V}873lk|s+DEFC&5|FYv(GTxmb8)S#!6mV3wJVa?h;gMKvREwiJ`=W5^ImDv zOXKr(LLpiB+cbiu#uEg8pG*?Vs_b`zX_1c5yvyl#(UgKs4su=0rEVN~MNvBKu4W|S z6wYUD7mnwz2H`YwJ!I0gR^$NMC@l$Zuy#?{Du`0mnNp5zu5TBct9JEPKwZz!=Zysd z=%fP2OXFgFX&en#@QUcjxf)H$xs_A1^dfg2+2*R1w9WX_g1Z}kutzg(b9u_G?Jc!8 zZ);g02H{A8AkIa!=LwWc8Nnnff;jpoT6=ZU(WrDN?zK4;*p+SJJ}$O!6ZMRv(+~RF z&f?2gezw^+-n)!d8v&{0`-!#wtS~FocpO}ZXZD$XcCg#+9X6jpAi%f1AZ_?Ma6Jqz-;7YUcgU3Lcn;0%mvcK^Op0Eys-NGFIn z7K#G&#nX+4Y7+I24X+n}r}?S$PE(!xX;|d*CT_CB2pF>k-)zeL4%nN`>*|}$o_w=; zU466JtGwB80I7Yaf4O}qkZh#}1?XsODXE77G$jNm2oH;6KY@Rgzg`95=utDg!Tzt& zW0M62o-ceN&b3Es`)d5)oG$iA{kh>G7OvFFTQ8Aby^xV$o<^MXLY-9c@Y=;<@JBq@ zs+U@iA!f{{A09w%4|R@*ULH?R;V1s_ayW>CBE&55(?kB6f4U!s9)A}Gl3P6z!$O-4UvlAQ!G#XKiE`1EihHvZdUgFUvZKjZ#YTIKGtYr{PA;rfBSPSZD(c6|Cous zx$}uu_Od+l+n(ul6b*ouW6A~VPn0IX`qx6eVEu^-bMf%TnkLtvV18Tp_Ig1S1bfXD z*BASebi}2ef67RSS6!6S!jf?H9(AqO&=ppCYD9W3b$4cdBfXb9qoI(E5$c&YC#251 zK>4F97W*pvXi^TvBCC77ojoDD9@iw~@1mo3!b+)TUvGC#riqf?XS(>NIaB|n&Nd0! zb2{jpqvN`I+*xM0d%f|00Mu5z%)*f~mF|zxI_-L`e{BQ1ndTw0_H&Axq9CN`r!!ao z?+sDwV~gUJp4d`zOT3Lu=4);ZhZSutO#08Qp;cDU8niG`9+}!%OqV6MsB8^ytg>}J zPi1RjRoNQXsBE29RJL}iDqDS6rCb+U+>*Q+KquXpuoULTs(ygoOodA)5?^ZI00^ZIXP zrMAjSH*dOD4e91h*D4s@yy;riq2Eh)>4!gh06*T{;(q@}&+VUo^Z@?)M-SlVyW8Er z)imvXQH@daQLD&UuN|+hNn_Zb!#Y zTc~EuJ|K)UQq_p{Lb`>1sP-j{X% z-bmfQ=eq9SZ<_8ODHH;W5sfb2hvW1-^#8`S0h2^m2mHJE@c-=LB3iWqfvVk?dV$YO zf4#uhnqJ^ZvtHn+wO$}?L$gYtR{(pn!xejWOvRo_cNi4iC{HhvFms*5S4Rnlb3N^^|##w_W z{EhX0|KI;V@h%Iz+J2q-V|wi+Fw_P+f2GNM;IG&xtyRS=6aC)Q_%pi(2Kw}@SjnRp zxZwj`hw#pQ23XQishac+Z!1}J8MFT)-T7#XXVbU@8UDH~8 z#kEV{T2&Kkd$?EE#hoq9dI@&RDu}n-@sCOc@oiN};iOIlu?jz=C&B@z<`}V~f5vn} zRND+BwRu@a`Lk`5h+a>WevD`jlb3>gN#rn9L~E3Yw`FHO=;9#{v-j?DXSL{cmXnz` zY^f8?$LjpEq7!}Y*B}g`>T!aaoJ*5nV`);Xp>E2>StL}RUU4Il&GQx4 z5fRJ4wJTv=xiXCcmlisdYNXK4e-c+E>*D~|Q6rm%j{`fQwqW}{m>QKI42{YUcAd$0 zCFQW8p&W(~k)3$uc}b#^(>kinU&tvKHUl2Bk&5N7T1cT>MZ` zW&F^j%J@!G=NlSY=APK#CBo!fiSYwdVk~v4A@FR&MBSQRXQ{tQ(|YcvGNiuFa6r!C|7ROZL%45m7!rU1%(K4Iw$=&NIn@b&up3=FU4mof9y7C=9UDt)LEJ) z3^a6rd7QxOcesS{Yz(=0@rBI}NQ;6`S`*Au=` zeqxKzrui+&dj4Pke~*saQ(ymQr*ePV?|9Ry0s2KoziZypo^ql(kiixQW#5)1D!fY0 z9&cv+hi zia@ReBhbha;JJFB=ycKV?4It77C=DWIJn~k!xYy|hjsLPf26Gkxwuus<_Dk(vC?Sq z;*kbUr&XK9ZSI*=4Z#W7PLuXiBahMt9wjt}dukXvZZl)YfT24lg}<9}5jEoNvYVf! z7yJ)%hRzk6jngO?7D0Gjd<|R+fNB5X95g0K2xG;Yk!$Ai3wP_hH+I`-x|emkKbLem zhNO%1*{X$;em7~v9m80E?%2AP?p5pEXnN!fROLeQQ5cLMQ)AwH3 z{g9~71vQh(V;pO0&9%#NX4PxHbJf7M+KQ{|hV^*BkoW!qbyg{r-o! z3XJ7-SEdN|RsWYUNSVJTmDTw1UkPdDOoQ@sRfBRte{?3TP}mi6vt#$Un*|Xp!rx>N zy=!hjtwqSs|0y?N%%8z-XBTd8StJJbOAKQVn+1f$IH063U&4O()(P(=3hyNqyl1M8 zCl$<>+!E%i1+wq&49LRk>?T)AZgr2@&)jWw_Ghy*rDuNA%crsh|6KU$x&D=3Yxyl)0$Ul+c=Uh4KEpRM*I2UYu#PuH^jT7;na`@bsDd^6jx1u360#aw6nbtiNd zzJlDGy}zC*kbc(IzkO&i2GSCrY_u{45(;sre{+q2sQ0ot5Kn9yqPSA=4(x-<<~vcH z`HnQyaW$hKWvMf$7{(|gALh3>FWZm|EuoR-T7sOHjWmP_Po2TXxZdF7w9%qt$7az{ zt1s;pjT+P1*M?tQQ-4|}WmT1GFT=UJU9*g9aI&Kqr4{k9&=Hn zf1>VtuF z`rQ$as|go2%y=ZgirAix(B?ecc3LX~JhdV>dNbj~#I!#A-VzP(p6{b)ktY0i+KB%) zC|a>ZJ!0(#^HC3r7wOv)8R{|1zYi{6e-`7oTtg;P9Uh`_KP+A)Nl4nlEtS@^=_jy} zqH>7fx(E)G6l#MMKQ{vn1gfRT-pgZTJ8JJ}SWe{%du zZhB3uvj~9bauA0KN#}EP_p6f8Fn%A7dL2ThFvE@~eqji-28=#r&$yE=)90XOxWCR4 z?p-RJh=fv+&Qk1@q>@#~cC9_wKDhGf9_~el?!NHZ+N$Z`lBW;SYgH?e4MGX>{eZ zwp>`bUMZq`*{OoK+W{QJHMc1SZX0w)i-pHA)TSqb_}=bR?8KBUKyA4P7J9xRgnFpo zVNS-ULcEAHH}iuM^kD15fAk_LgO5sYKQkLOm{r)@z((q&Hg^cG=gL9x&t+E*!$n*ix8Gxeo{XQIRMYoUZ=<~KNtV+_58(=@AzWBmnukS|F6}@M!N=r(MxzGl+D=|wA<{i>g zt&XHoZ59{TlteEn482!bXl*ScLjiQi6hK)$rt;1ZGm2-r1f5nPjikDWwmh4s z@u27%0shfkQOFycDCCVU3YmAc=x&*+*OMu4FfX6fB8r&Ke-lMSH*?q&&vn=|s9cFk zPWvJ%&dAGA-ol5|&~|B_TQ1GXjeR(koH12>IGvgWcxyXms`TO1uiWBi)mvOSWMa~5 z<%-GXzG=_uzDaYw#N0Pkd@eP`;d{2ot$t9x)pupWPi#UjeJQ8fuQ+ddUE{pz#3I0Y zr8#eU*M>T%fB01@J5$og1Mh7Ub?~WPg!QqRaCqNHIJ{|c-t^q=yy>^Pn0$YPJD^*Q zBzD_P|F;XD|B^0zey;)4Ir_N;@UprCI&JW2gTzj2uQpit8nNpPZ#UEiHyWkR8=VC; z4P7;{kT0VfPJ)l$7`ok+(7drP>gZ_Ukb&i;wv8RQf6O;;(h2zzdZRoDeJ?(_2cdt8 zZ}KJdMmZ$Rp$59 ze9gQ>xhE(z=5x7+4R7F%Xqkt z#F@Tef1K$HoioL;G4}LL8}@Wh7?SN(t#o-`Z|t0FCD+cWerDX&w%}B0e0FwK%Q{Bu zIph$w<>;azdzLP0Agj^)zXPw<{(9fsY5Nh@2HC)cDm&`{9HGOd9Iz#xY?+H zsCllPK1-)5(zVlD?%GLpYPfc)>!H@Q)158Nx(SvQ*G{+G@!!;|ky;w*+DR>BCAuVf zLTjf#!hidct`(HiqbZ?4V<_e9^kaj}6eUCdE38hN zxavAabzr*vY49EMvE=sWqv;7o!}GNKx-*#6^ajGPVVjBSdewZo${Ua!qc1WO@>&m{ zs>3maDP!67HLos4SK3w!PdB0glxB*OTOA1^i-EW4??vzJ z#{OOeSSWul=G0q{(eU@8hIm`Ulm1>B?^WUN#T)shGgv`~<#2om9eOA}Jp|u~vm9H~ zUVqTSKY?cIOH%dsbEN9^7KEwP)ksZUjrS#8jUCN=?R||>_~l~eYfZ)?WW-Uj;jr6w z;bQkV#RkT$?1!h$VoyJq9w+vClI-(XC`L@-zv^vVe!AAMg|!O}w>*d6W!yj9 zeBASwxjeIWBff@84KUzvm_-nfZS8aS=S8RMZ z21i(Qif*lG{Otq49}p_DsQXnd)aQ%Y{9OYe{@fNHSX*B3j3Zsf4tN>vV1dJKKOJ7`t32wy z4oAg81ll_7m944wDC}5x+tz&FM{Klpz5Qd$wi`#23Ggj1>5JvN&Tlfh*qe&p(8 z-s390;ep|Lw{=YZZk`gmdEW>;iPyV=+9T#!QLw>J1lXI%1%YMhNdhP7b@B4xF*cH2NZV?f(n2+KDp0YuYBxxxf?nnY{B@G+$*ha#QR;b37!1M%{>d-c?_YsE^?x(=JD=wG z65$6kRLsTQ%`DIw3Mytd>WA6Pvy~7y4R}lH4SvEe?29VFZ{8PTfX#%B$odF}IWsR| z{eCJO3$4GN18q?w2`MVhsSan zGmN_kGV6S+t36;9sRr6mej1sFE5yb8eNqDRu!m*QQqVAyun!%4`J&n39pjgP=36f7QJ)ycim^s?i*NzDSY z6}Vu*+O4o6G|tfVou7O4Fe3$@1U-nGq7W9u-7Y6sFt;C!7)R!^@Ms$6e3v&AkeJ8j zvImetF`NIrdrJ$g_MDn4>j3wEeSs(&xMP7}9!I5nw)I}|}l zV3xctsWqq6tuI$%Ul8^e{OT+BDct|WBfXzydjnO}*~W=~ZYd}au>GjiY-P~J;hMdN zB(9(-q2Ygb>e2AO`&OABeqb7Y={GU}lKL^raIp$xT2DmjmxZ3 zOh;j{;a#ZxCV$1JQk&VWY_G{$Xt4KQw@J~vTZw{E0%A}Ps_2-!rD@XCu&m~6zv5t8 zS1Jq^y(6C+WL)e`!S@VrR}4hz|0qujbB9%Hb-{KRam%pYjX+-XAWn3Y_faK6fNI=> z-GQrDI#<7E;xzoqRj+LsgPqC8oLavDG*7`Xl`6mLD1S)a0bngk5A@Agu6z48qa3rm zwrNFr%Q8HHFBQJm;z&8t7d>VG9~H8BrSLsG&;QgRzPfsy8E9YKfL{{%mm~g{)Bs9O zAEm7clq2(kp%}=U_{&ie$%omi_>}*MEDoiE`vz+l3Z2 z?Zvkr0)J1FtS*S>a?6MMDQ`bpboY++-AiSC78}<0T9J%XwqNDm{pyv6q1l{I56skA z$JXE%#ew_aHSoTM#DbN_30Qu`9`w&+=2ph=f4ApfxQ70>)8D>{*x?`<&2(VYYYewx zGAtcGc_TE5zr}M$M%yLHJfwET1F-*mijn$jvVWeEGPsn5>>BPH>g|hgvrlOP{FP-& zx#bZNX3L?c^E>H8KZtnk>lRQnDQlx!LF(_B&cL{2jaaf7bMJxvcn_S*zi_dQSzm>x zfcgPrylP%-r^mtV(mGdI;*MUUimLZ5>@gy4;2%KV2^wqsSJ_96CsR5loaG9y(bzW4E4Yw%sq?wV@zYnDX7q(4G%Qm&r<0Cvf1Yk?4$O#GTc?`BK`B*ceyB*u; z_(<;Y3jN^EBSLQ|aqemECsN<7^1AxHwtuC*>G*~Vo2{T2hTT8Hmc$GPn4^QPeqpb{ zv={#89l?qaqfg|q!mKQg)Mz@6cZO*!G>-PaHP}8mF(nh~7kp-vV#o z@2^6E?90B$sJef4MGQ(X8O>KIP76kwQ(r!V?>l2eezAiU6aR~RxXSZSO~J5?$fQ#2 zl2N@e+^^zZk4B;5Sx(QS4eU&X;D0=S&UA{EPp8;Li-AVU6_t-jjrQhN1uUQt8hbae zvBMagxE-V%*P5V1>j`}6)xd6-%%S?rz>XKdB*G2gqwRwzHZ8_AW@eEj)-URbDdUk} z@^&llQ~R0wxLr-+jpfVtMEhpa!T{4og9h7s$+q=-2?Uu{4FF{(tS9I~*ME@-=`?>2 z!#c;bcSnHW{!LhohB;$a5Q0Z^f{#Aa+QJ94ZNJcL+lsMYD0ct;OoY+-j0Kp|?_2Vx zjUVC75hJ`mVCc_%0faAJDAURFE;GrF+EzXBA9m>Q1G;P8(|nDCniGY->q$vbCPw0z z7zwkEG7IDFD5fRajg4d?YJb>E^QqcvX^;x+Ey^fKyhcgVW|Smeqa<;RlBCTjNxF=Z zq|+!#I*gLUXOtwiQIdF#lBCxtNjyf$cB^C`bUE`ys6UJh1pUr{NQdH?Z+~z-VJ{WO zoPFC7>PiEOfQcKm0OL<>aUJ;0*02tC^MK(CJUk(83s3OW$2X!6Jb&Q}u>bpm7qke1 z)sPqgQF1QS3e#!s|GCfoUwPdBiS7R1_}%}-&@jQZ9xZe!Y1aAHhbGJSP$HuG{oBcczq#k?d!%^dUP}F&0qWiAgPwT&xqB&bFKygQ3-{8N5$fYOhc7t_ zv@k$%ntyB<6^hQKjZzDzd>7jb4s2isys6YyUu(HF zn&lm|jk0|gQG~Hq-!xMf@ptkgbz8J;H$+&$Yl=f~ZmiyW=Gij&ybt`l=$c0%_==iS zt`wjVC757_Bm}adIRRgz$%o!+1}EVD`O&0dkAaelhO#&TNmx}!+qgPPNKFssJxUr>vyPN8yT4$ zlz(#l^N1P@&$(p~Cm_qQDY366Sk8fUggO_GsbHwv1w)q>Bjh!0DX5j%_W-1*hZd_7 zjx}$~x8E>Qti47^%AWMUkY~wIMoB$(dVBXYH(c`_zCWcrkP>gI)G#1|o3Vrp=C1up zg1UApF}e{N>XUc+3r)HeLnLk~dPfWyYk#EDwXgI#-w?Xe=(T~d{>p+#s2ntz#RIaH zJyF9$kD9ggCeqTo9NTQB+h#K}`tuqK1hp7dGp|uKbBwB4n^86EGOA{sM%BzQs!H=| zW}8nlulY3VHJ@gF^Qng30DgDl)H!qZHlrGN^c|Vq(t0t>QO6&XTTiF*ClE+0XnzKp zdjcq?@S}$loPGX}v`0w5O*)5e?eZ9Fn9ypyXfOD&QYo0u&d_SA@o5k&eR2ZKqwqp_ z&aU3%01f%oosf~yuM$Ka4c6fOYajDL2JyJ|R1D~{D*Pc!YzfS^6{g5aO6AxN{?k-2 zXGQFX18T6^4?q7-b`hy{`~Aco>3^+Na??#D#8A@>)m|A-GOP)qQbSNEk^Z@`7O2)V zT%Hn8k-x75sMA7U*!e6Kl{v2jbVT&F^DN}**&mIK+3H1wPEzaUP(C$?f zdREBxUcdz&anPn%d~S)vK(zw>7=Jwu5265^K7Z*6LeL@;PEVhAC;&TM*AE4*nv(ON z9yfhU(@O7K!CD?B-J3hwyni&hy3mEGk7#ZMw?+6=)rAb`CoGA9`VP!Oe6>ow5b@EX zt2{Rk*~_#Ju4pkb$w*svd>!U8h;Dn0ihd3rWM+@`sPCm2M;7DqXWA5t8P3)#C3?tbB7`UI&8~ z09^f&C;Wg^QF=!^@asP2N6ppxiS;3mCy>X0>2L6e1N}DsZ<5cNH9r|`ZN9DFrp3t~ zg)`lLil2$b&R*4Tet&?)q!pniQ^-$OY~}7BPJ+}l73qKI)1*{c+4YcPft#~MYm&$4^K`=$34p}p&Aue ze*4YeGzXAvt$z!AxkG8Ek0X-d;Mr)}fZFyUO+fA;`>1oF5D~%_P?I7MH7Vp|@Uz)` zq1<+TjM?a?GM?kfI-*_rYCz={y%m%ONVeW)T@!%_wMZY3?|8Z!i|*p5;xLM3#36r{ zw{nIM3&YxXv^KUVy#ddG!1vATz^UzEKpaD2aUhLCpTyr?2ZPkQ*ytwSXfP!8AHiM4~PEcBH5$1}YZU ze{9ZScc=(GLJnI=2)#3)Z`DauU|i01!>gaiBo2o(Ngk;V2V?1$V|VWL%x1Mb`aBEKp%F9E4T=_ zs9|H7HZ`f>+ks>mKo}$_qD8d!(Pg32B~C*grGHTsZJ>2$b=H(R*FDr}Hlow$+MrRZ zoxhVulAN3*K^3XzzOc}Wk{?qbT3{J?C}xY36Z~hvo}7$VFyAn$G?X8c(=df;$fHTL z@l8V>VaKNtJ|NzN{=+g)!`%dy5%i5YE+TaEB1>>7H{!ul-BR&124NKtZ7QFawH)~fTY zFD=c>Udv3DoC4yG${h+G;>d(lmkA&=kbi)IK|Rc{Q8IyWc5aZNy`eT(sispRm`&*N zU}MMws}-D46bEUvF~vcl#KFcE2l7r8GQm)=ch-Wgn^1n$n2Q|dqVfv{?EfOd2gIB3 zBoOv)t%(H`2$gu?H1b0=0W>v;*0Gd1F6Dj_U{7M9Uto+s>6jqV5}PNGj~3&L34fZX z30l($GT45@*nSZq*~PedE$|Aes+3X@|98b1BOST18XVj3XA3spdd_U^Qk8gmVLUDV zIQ6|oHz)DldiZ-B`tlbyz1?$IN8^^SiTI$(6{tiae?}R0&t$mAOD)>ttjpLN@fE|F z9~a^m&g^(0e$fdVuOmY{8E*{rS$}lORG-z=-#fDg#P%XDA4Ot~ozh|(!P2(M*UAp| zGkL5*UAtH<$h3?_Jy0V#Wo8@A=1RM+9HUv{F`8|hWRPNjR<7G5dD2WrPRL?NnQUsu zx`aK{ylka|SWD}%70|^FSp`x1#t6^95tT&!7KUg!pgQH&FbwqA5hBNi5Pz~H9%WEu z2|O+KLYBwlw*#_V9@h+bF(|cUYoMD^2LEXOi(GT@&3y*Kyw$BwG$Xlzl=wHOJDKZE z_rtPhzSsvum+r&EB8V$0_bXjgu58zv6Mw#;?%CK1+#QzgBZ2hVDm~tIn0!KZXgJ`8 zNAKLvm~j@wiWvaHcI=JvMt{+1hR0&f$bh1L%J$nP%21!?cfM%i^}K78GXGrv5=(D^ zFA?9DN`P#r$43^DJfAS3j;x8NBM3x$UQ!21NxeUCy&5mn){enXIU4AuBiJ^u97v$> zR>M44b2}Di%MbEqw3tv2Dg(?kWi^bxteF%zuOeK8^CZ$@Br*6bWq*h1S+t`&e09R% zfhI9};y4B}+Y`Y@naPRrY0i*Q4fit`=UqBo;c<)310~D@#ar?YABi(dr5&g1rLGhY z?t%X=jU7nrTf=YgQqVZNOTC(9Xb&Oro8Ei4O4x|p9NMROB1{QRfBVgt`r>h$+K z&bRWXPVe;Ip2wp!!J0qyBl?9ooO+Ytxd3tpIltJ^+OPd-mz{Zp+*wsAXH}v*t18D? z)lgTuvzoUcK*UCE`-A3In6T8;gGc3W@|Mpl*zkh;pcD@1fPZ)##@d4TK<_Y@F*bM` zrx|O3{l(4$__&52*XzPaR1w=c9l+@A-MAi9_EAL5CX5oB}}FWF9i2XonLjuv z^y1ZqFF82IWBtmH^E{_VZlm8=;m*Qwy3Pm0lCE`TE*xf_a!e{QNN~JN6OcW}G$1Ay zJ!3J#A%JtDm;rm8rQZ{= z%S-1}#V}N->%i9g2~Pp921?0=>6;Gv7cM) z`X8U5&VRwLMj0NhX%F6}ZgXS(zdYa=cL_R-)-hMheEWv(BI8H+so;wyy>|hFA{>!0 zY{dSiVjUE+KkcF~$LpN#VCTp2*|XQj(J}HIN#OVMH{Y${cfsNr;X?8Hr_J&1U+~f{ z0ub@y7c6LUL~}#_^z7MRjw)Kf`xYhy`u_gi%^LU_W<#a3XaBCA!Nt*>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '