From 8c448e257b392aa6c2d531fc9c871ba0ecd8e0fa Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Wed, 29 Jan 2020 08:14:20 -0600 Subject: [PATCH] add all tags mode --- purs/src/Component/TagCloud.purs | 42 +++++++++++++++---------------- purs/src/Model.purs | 24 ++++++++---------- static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 76076 -> 76121 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 247241 -> 247375 bytes 6 files changed, 34 insertions(+), 36 deletions(-) diff --git a/purs/src/Component/TagCloud.purs b/purs/src/Component/TagCloud.purs index ef2f6ae..b5e6daa 100644 --- a/purs/src/Component/TagCloud.purs +++ b/purs/src/Component/TagCloud.purs @@ -3,31 +3,25 @@ module Component.TagCloud where import Prelude hiding (div) import App (getTagCloud, updateTagCloudMode) -import Data.Array (sortBy, drop, foldMap, fromFoldable) -import Data.Foldable (for_, maximum, minimum) +import Data.Array (sortBy) +import Data.Foldable (maximum, minimum) import Data.Int (toNumber) -import Data.Lens (Lens', lens, use, (%=), (.=)) -import Data.Maybe (Maybe(..), fromMaybe, maybe) +import Data.Lens (Lens', lens) +import Data.Maybe (Maybe(..), fromMaybe) import Data.Monoid (guard) -import Data.Ord (comparing) -import Data.String (toLower, null, split) as S -import Data.String.Pattern (Pattern(..)) -import Data.Symbol (SProxy(..)) -import Data.Tuple (fst, snd, uncurry) +import Data.String (toLower) as S +import Data.Tuple (fst, uncurry) import Effect.Aff (Aff) -import Effect.Class (liftEffect) -import Foreign.Object (toUnfoldable, toArrayWithKey, empty, values) as F +import Foreign.Object (toUnfoldable, empty, values) as F import Globals (app') import Halogen (AttrName(..)) import Halogen as H -import Halogen.HTML (HTML, a, attr, br_, button, div, form, input, label, p, span, text, textarea) -import Halogen.HTML as HH -import Halogen.HTML.Events (onChecked, onClick, onSubmit, onValueChange) -import Halogen.HTML.Properties (ButtonType(..), InputType(..), checked, for, href, id_, name, rows, title, type_, value) -import Math (log, pow, sqrt) -import Model (TagCloud, TagCloudMode, TagCloudModeF(..), tagCloudModeFromF, isExpanded, setExpanded, isSameMode, showMode) -import Util (_loc, class_, fromNullableStr, ifElseH, whenH) -import Web.Event.Event (Event, preventDefault) +import Halogen.HTML (HTML, a, attr, button, div, text) +import Halogen.HTML.Events (onClick) +import Halogen.HTML.Properties (ButtonType(..), href, title, type_) +import Math (log) +import Model (TagCloud, TagCloudModeF(..), isExpanded, setExpanded, tagCloudModeFromF) +import Util (class_, fromNullableStr, whenH) data TAction = TInitialize @@ -68,7 +62,12 @@ tagcloudcomponent m' = , title "show a cloud of your most-used tags" , onClick \_ -> Just (TChangeMode modetop) ] [text "Top Tags"] - , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue ml2 " <> guard (mode == modelb2) " b") + , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue ml2 " <> guard (mode == modelb1) " b") + , title "show all tags" + , onClick \_ -> Just (TChangeMode modelb1) + ] [text "all"] + , text "‧" + , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue" <> guard (mode == modelb2) " b") , title "show tags with at least 2 bookmarks" , onClick \_ -> Just (TChangeMode modelb2) ] [text "2"] @@ -101,6 +100,7 @@ tagcloudcomponent m' = ] where modetop = TagCloudModeTop (isExpanded mode) 200 + modelb1 = TagCloudModeLowerBound (isExpanded mode) 1 modelb2 = TagCloudModeLowerBound (isExpanded mode) 2 modelb5 = TagCloudModeLowerBound (isExpanded mode) 5 modelb10 = TagCloudModeLowerBound (isExpanded mode) 10 @@ -126,7 +126,7 @@ tagcloudcomponent m' = opacity = rescale (log <<< (1.0 + _)) (toNumber v) (toNumber n) (toNumber m) 0.6 1.0 rescale :: (Number -> Number) -> Number -> Number -> Number -> Number -> Number -> Number - rescale f v n m l h = (f (v - n) / f (m - n)) * (h - l) + l + rescale f v n m l h = (if m - n < 0.01 then 1.0 else (f (v - n) / f (m - n))) * (h - l) + l fetchTagCloud :: TagCloudModeF -> H.HalogenM TState TAction () o Aff Unit fetchTagCloud mode' = do diff --git a/purs/src/Model.purs b/purs/src/Model.purs index 3f818ed..116ea83 100644 --- a/purs/src/Model.purs +++ b/purs/src/Model.purs @@ -1,15 +1,13 @@ module Model where -import Control.Monad -import Foreign -import Prelude - import Control.Monad.Except (runExcept) import Data.Array (intercalate, singleton) -import Data.Either (Either, hush) -import Data.Maybe (Maybe, fromMaybe) +import Data.Either (hush) +import Data.Maybe (fromMaybe) import Data.Nullable (Nullable) +import Foreign (Foreign, readInt, readString, unsafeToForeign) import Foreign.Object (Object) +import Prelude (class Eq, pure, ($), (<$>)) import Simple.JSON as J type BookmarkId = Int @@ -112,15 +110,15 @@ setExpanded (TagCloudModeLowerBound e i) e' = TagCloudModeLowerBound e' i setExpanded (TagCloudModeRelated e i) e' = TagCloudModeRelated e' i setExpanded TagCloudModeNone _ = TagCloudModeNone -isSameMode :: TagCloudModeF -> TagCloudModeF -> Boolean -isSameMode (TagCloudModeTop _ _) (TagCloudModeTop _ _) = true -isSameMode (TagCloudModeLowerBound _ _) (TagCloudModeLowerBound _ _) = true -isSameMode (TagCloudModeRelated _ _) (TagCloudModeRelated _ _) = true -isSameMode TagCloudModeNone TagCloudModeNone = true -isSameMode _ _ = false - showMode :: TagCloudModeF -> String showMode (TagCloudModeTop _ _) = "top" showMode (TagCloudModeLowerBound _ _) = "lowerBound" showMode (TagCloudModeRelated _ _) = "related" showMode TagCloudModeNone = "" + +-- isSameMode :: TagCloudModeF -> TagCloudModeF -> Boolean +-- isSameMode (TagCloudModeTop _ _) (TagCloudModeTop _ _) = true +-- isSameMode (TagCloudModeLowerBound _ _) (TagCloudModeLowerBound _ _) = true +-- isSameMode (TagCloudModeRelated _ _) (TagCloudModeRelated _ _) = true +-- isSameMode TagCloudModeNone TagCloudModeNone = true +-- isSameMode _ _ = false diff --git a/static/js/app.min.js b/static/js/app.min.js index 6909b9a..0fddb43 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(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=T,y=Q._3(j)));break;case m:P=new b(v,new b(h,y,D),P,L),w=T,y=L&&L!==O&&0===B?Q._1.killed(n.fromLeft(L))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,B++;break;case g:B++,P=new b(v,new b(h,y,D),P,L),w=T,y=Q._1;break;case h:B--,w=k,y=Q._1,D=Q._2}break;case x:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(L&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=T;break;case _:return}}function j(n){return function(){if(w===x)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===x)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:L=n.left(e),w=x,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(g,y(e)),P,L)),w=k,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===B&&(w=k,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:j,isSuspended:function(){return w===F},run:function(){w===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function L(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case w:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new b(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=c,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(c)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return f},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,c);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)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";(t["Data.Ring"]=t["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Nullable"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Properties"],h=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(c.toMaybe(n))}),D=r.bindFlipped(v.bindEffect)(b.location)(h.window);t.class_=function(n){return g.class_(m.ClassName(n))},t.attr=function(n){return g.attr(n)},t._loc=D,t._curQuerystring=function(){var n=D();return function(n){var e,t,r=(e=l.replaceAll("+")(" "),function(n){return p.unsafeDecodeURIComponent(e(n))}),a="#"===(t=f.take(1)(n))||"?"===t?f.drop(1)(n):n;return u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))}(w.search(n)())},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,g=n["Halogen.Component"],h=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],D=n["Halogen.Query.HalogenM"],E=n.Util,A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),M=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=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}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return g.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([E.class_("settings-form")])([w.div([E.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),E.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(M.create))]),w.label([y.for("privateDefault"),E.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),E.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(D.bindHalogenM)(l.modifying(D.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],y=n["Data.String.Common"],D=n["Data.Tuple"],E=n["Data.Unit"],A=n["Effect.Aff"],M=n["Effect.Aff.Class"],C=n["Effect.Class"],F=n.Globals,T=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,L=n["Web.Event.Event"],R=n["Web.HTML"],N=n["Web.HTML.Location"],U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=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}(),O=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}(),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}(),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}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=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,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](E.unit);return T.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[S.br_,H.text(n)]}),y.split("\n");var e=F.mmoment8601(n.bm.time),t=function(n){return function(e){return g.Just.create(J.create(n(e)))}},r=function(t){return S.div([I.class_("alert")])([H.text("previously saved "),S.span([I.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(D.snd)(e))])([H.text(g.maybe(" ")(D.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),I.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(b.append(b.semigroupArray)([I.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([H.text("cancel / ")]),S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([I.class_("w-100")])([S.tbody_([S.tr_([S.td([I.class_("w1")])([]),S.td_([I.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([H.text("URL")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputUrl.value),k.id_("url"),I.class_("w-100 mv1"),k.required(!0),k.name("url"),k.autofocus(y.null(n.bm.url)),k.value(n.edit_bm.url),_.onValueChange(t(U.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("title"),I.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(P.create))]),S.button([k.disabled(n.loading),k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(B.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([H.text("tags")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("tags"),I.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),I.attr("autocapitalize")("off"),k.autofocus(!y.null(n.bm.url)),k.value(n.edit_bm.tags),_.onValueChange(t(O.create))])])]),S.tr_([S.td_([S.label([k.for("private")])([H.text("private")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("private"),I.class_("private pointer"),k.name("private"),k.checked(n.edit_bm.private),_.onChecked(t(W.create))])])]),S.tr_([S.td_([S.label([k.for("toread")])([H.text("read later")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),I.class_("toread pointer"),k.name("toread"),k.checked(n.edit_bm.toread),_.onChecked(t(q.create))])])]),S.tr_([S.td_([]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),k.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:T.mkEval({handleAction:function(n){if(n instanceof Q)return a.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});if(n instanceof V)return u.discard(u.discardUnit)(x.bindHalogenM)(a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(x.bindHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(e){return{url:e.url,title:n.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 instanceof g.Nothing)return r.pure(x.applicativeHalogenM)(E.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof z)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.destroy(n))))(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof U)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 P)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 B)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 O)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 W)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 q)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 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(L.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)((e=w.strongFn,p.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,loading:n.loading}}})(e)))(n))(function(){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof g.Just?C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(N.setHref(r.value0)(n)):C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(F.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:T.defaultEval.handleQuery,receive:T.defaultEval.receive,initialize:T.defaultEval.initialize,finalize:T.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.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 e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(c){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(c)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Nullable"],b=n["Data.Ord"],y=n["Data.Profunctor.Strong"],D=n["Data.Show"],E=n["Data.String.CodePoints"],A=n["Data.String.Common"],M=n["Data.Symbol"],C=n["Data.Unit"],F=n["Data.Void"],T=n.Effect,H=n["Effect.Aff"],S=n["Effect.Aff.Class"],_=n["Effect.Class"],k=n.Globals,x=n["Halogen.Component"],I=n["Halogen.HTML"],L=n["Halogen.HTML.Core"],R=n["Halogen.HTML.Elements"],N=n["Halogen.HTML.Events"],U=n["Halogen.HTML.Properties"],P=n["Halogen.Query.HalogenM"],B=n.Util,O=n["Web.Event.Event"],W=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}(),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}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=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}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(){}return n.value=new n,n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),en=function(){function n(){}return n.value=new n,n}(),tn=M.SProxy.value,rn=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,loading:n.loading}}})(n)},un=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,loading:n.loading}}})(n)},an=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,loading:n.loading}}})(n)};e.bmark=function(n){var e,p=function(n){return D.show(D.showInt)(n.bid)+"_tags"},on=k["app'"](C.unit);return x.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=E.take(16)(n.bm.time)+"Z",t=function(n){return B.fromNullableStr(on.userR)+"/t:"+n},u=function(n){return function(e){return g.Just.create(Z.create(n(e)))}};return R.div([U.id_(D.show(D.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+h.guard(h.monoidString)(n.bm.private)(" private"))])([B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("star fl pointer"+h.guard(h.monoidString)(n.bm.selected)(" selected"))])([R.button([B.class_("moon-gray"),N.onClick(function(e){return new g.Just(new G(!n.bm.selected))})])([L.text("✭")])])}),B.ifElseH(n.edit)(function(e){return R.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([R.form([N.onSubmit(function(n){return g.Just.create(nn.create(n))})])([R.div_([L.text("url")]),R.input([U.type_(L.isPropInputType)(f.InputUrl.value),B.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),N.onValueChange(u(W.create))]),R.div_([L.text("title")]),R.div([B.class_("flex")])([R.input([U.type_(L.isPropInputType)(f.InputText.value),B.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),N.onValueChange(u(q.create))]),R.button([U.disabled(n.loading),U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(X.value)}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([L.text("fetch")])]),R.div_([L.text("description")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),N.onValueChange(u(J.create))]),R.div([U.id_("tags_input_box")])([R.div_([L.text("tags")]),R.input([U.id_(p(n.edit_bm)),U.type_(L.isPropInputType)(f.InputText.value),B.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),B.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),N.onValueChange(u(j.create))])]),R.div([B.class_("edit_form_checkboxes mv3")])([R.input([U.type_(L.isPropInputType)(f.InputCheckbox.value),B.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),N.onChecked(u(Q.create))]),L.text(" "),R.label([U.for("edit_private"),B.class_("mr2")])([L.text("private")]),L.text(" "),R.input([U.type_(L.isPropInputType)(f.InputCheckbox.value),B.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),N.onChecked(u(V.create))]),L.text(" "),R.label([U.for("edit_toread")])([L.text("to-read")])]),R.input([U.type_(L.isPropInputType)(f.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),L.text(" "),R.input([U.type_(L.isPropInputType)(f.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),N.onClick(function(n){return new g.Just(new $(!1))})])])])})(function(u){return R.div([B.class_("display")])([R.a([U.href(n.bm.url),U.target("_blank"),B.class_("link f5 lh-title"+h.guard(h.monoidString)(n.bm.toread)(" unread"))])([L.text(A.null(n.bm.title)?"[no title]":n.bm.title)]),R.br_,R.a([U.href(n.bm.url),B.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),R.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(w.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+h.guard(h.monoidString)(g.isJust(w.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(w.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),R.br_,R.div([B.class_("description mt1 mid-gray")])([I.slot()(new M.IsSymbol(function(){return"markdown"}))(b.ordUnit)(tn)(C.unit)(r.component)(n.bm.description)(F.absurd)]),R.div([B.class_("tags")])(B.whenA(!A.null(n.bm.tags))(function(e){return s.map(s.functorArray)(function(n){return R.a([B.class_("link tag mr1"+h.guard(h.monoidString)("."===E.take(1)(n))(" private")),U.href(t(n))])([L.text(n)])})(A.split(" ")(n.bm.tags))})),R.a([B.class_("link f7 dib gray w4"),U.href((a=n.bm.slug,B.fromNullableStr(on.userR)+"/b:"+a))])([L.text(e)]),B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("edit_links di")])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new $(!0))}),B.class_("edit light-silver hover-blue")])([L.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new K(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new K(!1))})])([L.text("cancel / ")]),R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(Y.value)}),B.class_("red")])([L.text("destroy")])])])])}),B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("read di")])(h.guard(h.monoidArray)(n.bm.toread)([L.text("  "),R.button([N.onClick(function(n){return new g.Just(en.value)}),B.class_("mark_read")])([L.text("mark as read")])]))})]);var a})])},eval:x.mkEval({handleAction:function(n){if(n instanceof G)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.modifying(P.monadStateHalogenM)(an(y.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 m.modifying(P.monadStateHalogenM)(rn(y.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}})})})});if(n instanceof K)return i.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Y)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.destroy(n.bid))))(function(){return P.raise(z.value)})});if(n instanceof en)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.markRead(n.bid))))(function(){return m.modifying(P.monadStateHalogenM)(an(y.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}})})});if(n instanceof $)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(rn(y.strongFn))(e))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(un(y.strongFn))(n.value0))(function(){return _.liftEffect(P.monadEffectHalogenM(H.monadEffectAff))(o.whenM(T.monadEffect)(u.pure(T.applicativeEffect)(n.value0))(k.setFocus(p(e))))})})});if(n instanceof Z)return m.modifying(P.monadStateHalogenM)(rn(y.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 q)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 J)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 j)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 V)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 234, column 17 - line 240, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return a.discard(a.discardUnit)(P.bindHalogenM)(i.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(P.bindHalogenM)(i.gets(P.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(P.bindHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(P.monadStateHalogenM)(rn(y.strongFn))(function(e){return{url:e.url,title:n.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 instanceof g.Nothing)return u.pure(P.applicativeHalogenM)(C.unit);throw new Error("Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): "+[n.constructor.name])}())(function(){return i.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof nn)return a.discard(a.discardUnit)(P.bindHalogenM)(_.liftEffect(P.monadEffectHalogenM(H.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(rn(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(an(y.strongFn))(n))(function(){return m.assign(P.monadStateHalogenM)(un(y.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): "+[n.constructor.name])},handleQuery:x.defaultEval.handleQuery,receive:x.defaultEval.receive,initialize:x.defaultEval.initialize,finalize:x.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Ord"],f=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],m=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}(),g=f.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new f.IsSymbol(function(){return"bookmark"}))(c.ordInt)(g)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,D=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),A=function(n){return y.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return h.div_(o.map(o.functorArray)(function(n){return h.div([w.id_(f.show(f.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([h.div([y.class_("display")])([h.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),h.br_,h.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(c.monoidArray)(function(n){return[h.br_,g.text(n)]})(s.split("\n")(e))))),h.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(D(n))),w.href(A(n.slug))])([g.text(i.maybe(" ")(d.fst)(D(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],D=n["Data.Profunctor.Strong"],E=n["Data.Show"],A=n["Data.String.Common"],M=n["Data.Symbol"],C=n["Data.Tuple"],F=n["Data.Unit"],T=n["Data.Void"],H=n.Effect,S=n["Effect.Aff"],_=n["Effect.Aff.Class"],k=n["Effect.Class"],x=n.Globals,I=n["Halogen.Component"],L=n["Halogen.HTML"],R=n["Halogen.HTML.Core"],N=n["Halogen.HTML.Elements"],U=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],B=n["Halogen.Query.HalogenM"],O=n.Util,W=n["Web.Event.Event"],q=n["Web.HTML.Location"],J=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}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=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}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,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)},nn=M.SProxy.value,en=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)},tn=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)};e.nnote=function(n){var e,g=x["app'"](F.unit);return I.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return x.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(G.create(n(e)))}};return O.ifElseH(n.destroyed)(function(n){return N.p([O.class_("red")])([R.text("you killed this note")])})(d.const(O.ifElseH(n.edit)(function(e){return N.form([U.onSubmit(function(n){return w.Just.create(K.create(n))})])([N.p([O.class_("mt2 mb1")])([R.text("title:")]),N.input([P.type_(R.isPropInputType)(c.InputText.value),O.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),U.onValueChange(t(J.create))]),N.br_,N.p([O.class_("mt2 mb1")])([R.text("description:")]),N.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),U.onValueChange(t(j.create))]),N.div([O.class_("edit_form_checkboxes mb3")])([N.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),U.onChecked(t(Q.create))]),R.text(" "),N.label([P.for("edit_ismarkdown"),O.class_("mr2")])([R.text("use markdown?")]),N.br_]),N.div([O.class_("edit_form_checkboxes mb3")])([N.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),U.onChecked(t(V.create))]),R.text(" "),N.label([P.for("edit_shared"),O.class_("mr2")])([R.text("public?")]),N.br_]),N.input([P.type_(R.isPropInputType)(c.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),R.text(" "),N.input([P.type_(R.isPropInputType)(c.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),U.onClick(function(n){return new w.Just(new X(!1))})])])})(function(t){return N.div([P.id_(E.show(E.showInt)(n.note.id)),O.class_("note w-100 mw7 pa1 mb2")])([N.div([O.class_("display")])([N.div([O.class_("link f5 lh-title")])([R.text(A.null(n.note.title)?"[no title]":n.note.title)]),N.br_,n.note.isMarkdown?N.div([O.class_("description mt1")])([L.slot()(new M.IsSymbol(function(){return"markdown"}))(y.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(T.absurd)]):N.div([O.class_("description mt1 mid-gray")])((u=n.note.text,f.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[N.br_,R.text(n)]})(A.split("\n")(u))))),N.div([O.class_("link f7 dib gray w4")])([N.span([P.title(w.maybe(n.note.created)(C.snd)(e(n.note)))])([R.text(w.maybe(" ")(C.fst)(e(n.note)))]),R.text(" - "),N.span([O.class_("gray")])([R.text(n.note.shared?"public":"private")])])]),O.whenH(g.dat.isowner)(function(e){return N.div([O.class_("edit_links db mt3")])([N.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new X(!0))}),O.class_("edit light-silver hover-blue")])([R.text("edit  ")]),N.div([O.class_("delete_link di")])([N.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new Y(!0))}),O.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([R.text("delete")]),N.span([O.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([N.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new Y(!1))})])([R.text("cancel / ")]),N.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just($.value)}),O.class_("red")])([R.text("destroy")])])])])})]);var u})))},eval:I.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(B.applicativeHalogenM)(F.unit);if(n instanceof G)return h.modifying(B.monadStateHalogenM)(en(D.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,shared:e.shared,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:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,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:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return o.modify_(B.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(v.void(B.functorHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(en(D.strongFn))(e))(function(){return h.assign(B.monadStateHalogenM)(tn(D.strongFn))(n.value0)})});if(n instanceof K)return a.discard(a.discardUnit)(B.bindHalogenM)(k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(W.preventDefault(n.value0)))(function(){return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(B.bindHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.editNote(n)))(function(e){return s.for_(B.applicativeHalogenM)(l.foldableEither)(e)(function(e){return 0===n.id?k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(a.bindFlipped(H.bindEffect)(q.setHref(O.fromNullableStr(g.noteR)))(O._loc)):a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(Z(D.strongFn))(n))(function(){return h.assign(B.monadStateHalogenM)(tn(D.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): "+[n.constructor.name])},handleQuery:I.defaultEval.handleQuery,receive:I.defaultEval.receive,initialize:I.defaultEval.initialize,finalize:I.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Show"],w=n["Data.String.Common"],b=n["Data.Tuple"],y=n["Data.Unfoldable"],D=n["Data.Unit"],E=n["Effect.Aff.Class"],A=n["Foreign.Object"],M=n.Globals,C=n["Halogen.Component"],F=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],H=n["Halogen.HTML.Events"],S=n["Halogen.HTML.Properties"],_=n["Halogen.Query.HalogenM"],k=n.Math,x=n.Model,I=n.Util,L=function(){function n(){}return n.value=new n,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}();e.tagcloudcomponent=function(n){var e,U=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return n(e-t)/n(r-t)*(a-u)+u}}}}}},P=function(n){return n instanceof x.TagCloudModeNone?r.pure(_.applicativeHalogenM)(D.unit):u.bind(_.bindHalogenM)(E.liftAff(_.monadAffHalogenM(E.monadAffAff))(t.getTagCloud(x.tagCloudModeFromF(n))))(function(e){return o.modify_(_.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(A.empty)(e),r})})},B=M["app'"](D.unit),O=function(n){return function(e){var t=d.map(d.functorArray)(b.uncurry(function(n){return function(e){return function(t){return function(r){var u,o=U(function(n){return k.log(1+n)})(v.toNumber(r))(v.toNumber(n))(v.toNumber(e))(.6)(1),i=U(a.identity(a.categoryFn))(v.toNumber(r))(v.toNumber(n))(v.toNumber(e))(100)(150);return T.a([S.href((u=t,I.fromNullableStr(B.userR)+"/t:"+u)),I.class_("link tag mr1"),S.attr("style")("font-size:"+h.show(h.showNumber)(i)+"%;opacity:"+h.show(h.showNumber)(o))])([F.text(t)])}}}}(n)(e))),r=c.sortBy(g.comparing(g.ordString)(function(n){return w.toLower(b.fst(n))})),u=A.toUnfoldable(y.unfoldableArray);return function(n){return t(r(u(n)))}}};return C.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:A.empty})),render:function(n){if(n.mode instanceof x.TagCloudModeNone)return T.div([I.class_("tag_cloud")])([]);var e=new x.TagCloudModeTop(x.isExpanded(n.mode),200),t=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),5),r=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),20),u=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),2),a=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),10);return T.div([I.class_("tag_cloud mv3")])([T.div([I.class_("tag_cloud_header mb2")])([T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(e))(" b")),S.title("show a cloud of your most-used tags"),H.onClick(function(n){return new p.Just(new N(e))})])([F.text("Top Tags")]),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(u))(" b")),S.title("show tags with at least 2 bookmarks"),H.onClick(function(n){return new p.Just(new N(u))})])([F.text("2")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(t))(" b")),S.title("show tags with at least 5 bookmarks"),H.onClick(function(n){return new p.Just(new N(t))})])([F.text("5")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(a))(" b")),S.title("show tags with at least 10 bookmarks"),H.onClick(function(n){return new p.Just(new N(a))})])([F.text("10")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(r))(" b")),S.title("show tags with at least 20 bookmarks"),H.onClick(function(n){return new p.Just(new N(r))})])([F.text("20")]),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 ml2 f7 link silver hover-blue "),H.onClick(function(e){return new p.Just(new R(!x.isExpanded(n.mode)))})])([F.text(x.isExpanded(n.mode)?"hide":"show")])]),I.whenH(x.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(A.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(A.values(n.tagcloud)));return T.div([I.class_("tag_cloud_body")])(n.mode instanceof x.TagCloudModeNone?[]:O(t)(r)(n.tagcloud))})])},eval:C.mkEval({handleAction:function n(e){if(e instanceof L)return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(n){return P(n)});if(e instanceof R)return u.discard(u.discardUnit)(_.bindHalogenM)(o.modify_(_.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=x.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(_.functorHalogenM)(E.liftAff(_.monadAffHalogenM(E.monadAffAff))(t.updateTagCloudMode(x.tagCloudModeFromF(n))))})});if(e instanceof N)return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(x.eqTagCloudModeF)(t)(e.value0)?n(new R(!x.isExpanded(t))):P(x.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 142, column 3 - line 142, column 69): "+[e.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:new p.Just(L.value),finalize:C.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],c=n["Data.List.Types"],f=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=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}(),p=function(n){return function(e){return new v(n,e)}},m=d.create,g=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var f,p=n,m=e,g=r,h=u,w=a,b=!1;function y(n,e,r,u,a,f){if(a instanceof s)return b=!0,new l.Tuple(new c.Cons({func:t.pure(n)(a.value0),count:f},e),r);if(a instanceof d)return b=!0,new l.Tuple(new c.Cons({func:u(a.value0),count:f},e),r);if(a instanceof v)return p=n,m=e,g=i.cons(a.value1)(r),h=u,w=a.value0,void(o=f+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)f=y(p,m,g,h,w,o);return f}}}}}},h=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof c.Nil)return v=!0,new a.Left(o);if(e instanceof c.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof c.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof c.Nil)return v=!0,new a.Left(p);if(t instanceof c.Cons)return v=!0,a.Right.create(new l.Tuple(new c.Cons({func:p,count:e.value0.count-1|0},e.value1),new f.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=h(n)(u.value0)(u.value1.value1)(t.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): "+[i.constructor.name])}if(u.value1.value0 instanceof d){var i;if((i=h(n)(u.value0)(u.value1.value1)(e(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): "+[i.constructor.name])}if(!(u.value1.value0 instanceof v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var c=new f.NonEmpty(u.value1.value0.value1,u.value1.value1);r=g(n)(u.value0)(c)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(c.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),D=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(D)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],c=n["Data.Bifunctor"],f=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],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}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),g=p.create,h=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(c.bimap(f.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return h(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return E(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return D(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return h(n.value0)(function(t){return h(function(e){return n.value1(t)})(e)})})(n.value0):h(function(e){return n})(e)}})}},D=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},E=function(n){return function(e){return new t.Applicative(function(){return D(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new f.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof f.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new f.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): "+[r.constructor.name])})}};e.freeT=g,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new f.Right(s.map(n)(t.pure(E(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof f.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=E,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(f.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(E(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],c=n["Control.Monad.Rec.Class"],f=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],g=n["Data.Newtype"],h=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=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}(),D=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),E=function(n){return function(e){return function(r){return function(a){return function(c){return function(f){return function(l){return i.freeT(function(s){return function f(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return f(n)})})(c(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(f,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(c){return function(f){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(c)(r.apply(c.Applicative1().Apply0())(v.map(c.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(f(w.Tuple.create)))(l.parallel(c)(i.resume(n)(o)(p.value0))))(l.parallel(c)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},M=new v.Functor(h.rmap(D)),C=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(C));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=g.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return c.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new c.Loop(b.unit))(c.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(f.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(M)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(M)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return E(M)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=M}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=a,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,c,f,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,c=e.value,f=d.size,null!==e.error){for(c=n.left(e.error);t=o(l);)u(t.cb(c));for(;a=o(d);)u(a(c));for(;i=o(s);)u(i(c));break}if(c===r&&(t=o(l))&&(e.value=c=t.value),c!==r){for(i=o(s);f--&&(a=o(d));)u(a(n.right(c)));null!==i&&(e.value=r,u(i(n.right(c))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=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}(),i=function(){function n(){}return n.value=new n,n}(),c={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(c,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(c,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(c,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:w,forks:b,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Free"],f=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],g=n["Data.Foldable"],h=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],D=n["Data.Maybe"],E=n["Data.Ord"],A=n["Data.Unit"],M=n.Effect,C=n["Effect.Aff"],F=n["Effect.Class"],T=n["Effect.Exception"],H=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],L=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],N=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(t){if(t instanceof D.Nothing)return e;if(t instanceof D.Just)return F.liftEffect(C.monadEffectAff)(H.write(new D.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},U=function(n){return function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(e))(function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(C.bindAff)(s.parSequence_(C.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(C.applicativeAff)(e)})})})})})}},P=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(e){return F.liftEffect(C.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},B=function(n){return function(e){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(D.Just.create)(p.liftCoyoneda(t)),h.const(D.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var h;return c.foldFree(C.monadRecAff)((h=s,function(c){if(c instanceof x.State)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(C.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(h)))(function(){return u.discard(u.discardUnit)(C.bindAff)(U(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(C.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(c instanceof x.Subscribe)return u.bind(C.bindAff)(P(x.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(o){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(u.bind(C.bindAff)(r)(function(r){var c=u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(D.maybe(!1)(y.member(x.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(a.await(C.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(C.monadAff))(m.eq(D.eqMaybe(m.eqBoolean))(w.map(D.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new D.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new L.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.insert(x.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(C.bindAff)(a.runProcess(C.monadRecAff)(a.pullFrom(C.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(C.applicativeAff)(c.value1(n))})})});if(c instanceof x.Unsubscribe)return u.discard(u.discardUnit)(C.bindAff)((s=c.value0,function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(C.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(D.bindMaybe)(y.lookup(x.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(C.applicativeAff)(c.value1)});var s,p,b;if(c instanceof x.Lift)return c.value0;if(c instanceof x.ChildQuery)return function(n){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(C.functorAff)(t.value2)(d.sequential(C.parallelAff)(t.value0(C.applicativeParAff)(function(n){return d.parallel(C.parallelAff)(u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return B(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof x.Raise)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(N(n.pendingOuts)(e(c.value0)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.Par)return d.sequential(C.parallelAff)(r.retractFreeAp(C.applicativeParAff)(r.hoistFreeAp((p=d.parallel(C.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof x.Fork)return u.bind(C.bindAff)(P(x.ForkId)(h))(function(r){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(a){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.new(!1)))(function(f){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(C.finally(F.liftEffect(C.monadEffectAff)(function(){return H.modify_(y.delete(x.ordForkId)(r))(a.forks)(),H.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(o.unlessM(M.monadEffect)(H.read(f))(H.modify_(y.insert(x.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(C.applicativeAff)(c.value1(r))})})})})});if(c instanceof x.Kill)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.forks)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(g.foldableMaybe)(C.killFiber(T.error("Cancelled")))(y.lookup(x.ordForkId)(c.value0)(n)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.GetRef)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return t.pure(C.applicativeAff)(c.value1(y.lookup(E.ordString)(c.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[c.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof L.RefUpdate)return F.liftEffect(C.monadEffectAff)(h.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(E.ordString)(h.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof L.Action)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=B,e.evalM=O,e.handleLifecycle=U,e.queueOrRun=N}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Rec.Class"],f=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],g=n["Data.Map.Internal"],h=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,D=n["Effect.Aff"],E=n["Effect.Aff.AVar"],A=n["Effect.Class"],M=n["Effect.Console"],C=n["Effect.Exception"],F=n["Effect.Ref"],T=n["Halogen.Aff.Driver.Eval"],H=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],L=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=D.runAff_(l.either(C.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),N=function(n){return function(){var e,t=F.read(n)();return F.write(h.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(U){var P=function(n){return function(e){return function(t){return r.bind(D.bindAff)(E.empty)(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(function(){var t=F.read(n)();return F.modify_(function(n){return n+1|0})(n)(),F.modify_(g.insert(w.ordInt)(t)(u))(e)(),t}))(function(n){var c=a.producer(D.monadAff)(v.map(D.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(D.monadErrorAff)(E.take(u))));return v.void(D.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(D.bindAff)(a.runProcess(D.monadRecAff)(a.connect(D.monadRecAff)(D.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return E.kill(C.error("ended"))(u)})})))})})}}},B=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=L(),i=H.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(H.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return H.unDriverStateX(function(t){var u=T.evalM(W)(t.selfRef)(t.component.eval(new x.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(D.bindAff)(f.parSequence_(D.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(D.bindAff)(u)(function(){return A.liftEffect(D.monadEffectAff)(function(){return N(t.pendingQueries)(),N(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(c.initializers))(F.read(i))(),i}})}}},O=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var c=v.map(y.functorEffect)(i.pop)(F.read(a))(),f=function(){if(c instanceof h.Just){F.write(c.value0.value1)(a)();var n=F.read(c.value0.value0)();return H.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return i.input instanceof x.Receive?B(e)((r=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): "+[c.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return h.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(f))(o)(),r.bind(y.bindEffect)(F.read(f))(H.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof h.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): "+[e.constructor.name])}))()}})}}}},W=function e(r){return function(a){return function(){var o=F.read(a)(),f=v.map(y.functorEffect)(h.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(f)(F.write(new h.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,g,w,E,A=u.identity(u.categoryFn)(o.selfRef),M=u.identity(u.categoryFn)(o.pendingQueries),C=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=T.queueOrRun(C),g=v.void(D.functorAff),w=T.evalF(e)(A),function(n){return l(g(w(n)))}),k=(E=T.queueOrRun(M),function(n){return E(S(I.Action.create(n)))}),x=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),L=F.read(o.childrenOut)(),N=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(N)(function(e){return function(){var t=F.read(e)();return H.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(H.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:L,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new h.Just(x),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(f)(d.flip(c.tailRecM(c.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(C)();F.write(new h.Just(m.Nil.value))(C)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(C)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(C))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return H.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(D.applicativeAff)(g.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(h.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((t=D.killFiber(C.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=T.evalM(W)(t.selfRef)(t.component.eval(new x.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},J=function(n){return function(e){return function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(D.applicativeAff)(h.Nothing.value):T.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return T.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((o=E.kill(C.error("disposed")),function(n){return D.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),H.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(L))(function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(0)))(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(!1)))(function(a){return T.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(B(n)((o=c,function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(D.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(E.put(n))(e))})}))(U)(e))();return H.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:P(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&u.refEq(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],D=n["Halogen.VDom.Machine"],E=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],M=n["Web.DOM.Node"],C=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],T=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=M.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return M.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?D.halt(n.value0):l.unit};return{buildWidget:function(n){var t=E.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return D.mkStep(new D.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return D.mkStep(new D.Step(D.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return D.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=D.step(e.value0,t.value0);return D.mkStep(new D.Step(D.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=D.extract(d);return o.void(s.functorEffect)(M.appendChild(v)(T.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=M.parentNode(d.value0.node)(),e=M.nextSibling(d.value0.node)(),r=D.step(d.value0.machine,a),f=D.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(M.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(M.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(C.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],w=n["Halogen.VDom.Driver"],b=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],A=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),M=t._mainImpl;e.main=M,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(o.blist(e))(v.unit)(n)))(function(){return A})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(w.runUI(f.tagcloudcomponent(b.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(a.addbmark(e))(v.unit)(n)))(function(){return A})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(i.nlist(e))(v.unit)(n)))(function(){return A})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(c.nnote(e))(v.unit)(n)))(function(){return A})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(u.usetting(e))(v.unit)(n)))(function(){return A})})))}},e.viewRendered=A,e._mainImpl=t._mainImpl}(t),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,e){if(null===e.nodejsBaseUrl){var t=module.require("url"),r=t.parse(n);return r.protocol=r.protocol||"http:",r.hostname=r.hostname||"localhost",t.format(r)}return n||"/"},r.getResponse=function(n){return n.response}),function(n,e){return function(t,u){var a=r.newXHR(),o=r.fixupUrl(e.url,a);if(a.open(e.method||"GET",o,!0,e.username,e.password),e.headers)try{for(var i,c=0;null!=(i=e.headers[c]);c++)a.setRequestHeader(i.field,i.value)}catch(l){t(l)}var f=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return a.onerror=f("AJAX request failed"),a.ontimeout=f("AJAX request timed out"),a.onload=function(){u({status:a.status,statusText:a.statusText,headers:a.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(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=T,y=Q._3(j)));break;case m:B=new b(v,new b(h,y,D),B,L),w=T,y=L&&L!==O&&0===P?Q._1.killed(n.fromLeft(L))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,P++;break;case g:P++,B=new b(v,new b(h,y,D),B,L),w=T,y=Q._1;break;case h:P--,w=k,y=Q._1,D=Q._2}break;case x:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(L&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=T;break;case _:return}}function j(n){return function(){if(w===x)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===x)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:L=n.left(e),w=x,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===P&&(w===_&&(B=new b(v,new b(g,y(e)),B,L)),w=k,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===P&&(w=k,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:j,isSuspended:function(){return w===F},run:function(){w===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function L(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case w:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new b(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=c,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(c)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return f},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,c);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)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";(t["Data.Ring"]=t["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Nullable"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Properties"],h=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(c.toMaybe(n))}),D=r.bindFlipped(v.bindEffect)(b.location)(h.window);t.class_=function(n){return g.class_(m.ClassName(n))},t.attr=function(n){return g.attr(n)},t._loc=D,t._curQuerystring=function(){var n=D();return function(n){var e,t,r=(e=l.replaceAll("+")(" "),function(n){return p.unsafeDecodeURIComponent(e(n))}),a="#"===(t=f.take(1)(n))||"?"===t?f.drop(1)(n):n;return u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))}(w.search(n)())},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,g=n["Halogen.Component"],h=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],D=n["Halogen.Query.HalogenM"],E=n.Util,M=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}(),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=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}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return g.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([E.class_("settings-form")])([w.div([E.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(M.create))]),w.label([y.for("archiveDefault"),E.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(A.create))]),w.label([y.for("privateDefault"),E.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),E.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(D.bindHalogenM)(l.modifying(D.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)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 C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],y=n["Data.String.Common"],D=n["Data.Tuple"],E=n["Data.Unit"],M=n["Effect.Aff"],A=n["Effect.Aff.Class"],C=n["Effect.Class"],F=n.Globals,T=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,L=n["Web.Event.Event"],R=n["Web.HTML"],N=n["Web.HTML.Location"],U=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}(),P=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}(),W=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}(),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}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=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,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](E.unit);return T.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[S.br_,H.text(n)]}),y.split("\n");var e=F.mmoment8601(n.bm.time),t=function(n){return function(e){return g.Just.create(J.create(n(e)))}},r=function(t){return S.div([I.class_("alert")])([H.text("previously saved "),S.span([I.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(D.snd)(e))])([H.text(g.maybe(" ")(D.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),I.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(b.append(b.semigroupArray)([I.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([H.text("cancel / ")]),S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([I.class_("w-100")])([S.tbody_([S.tr_([S.td([I.class_("w1")])([]),S.td_([I.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([H.text("URL")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputUrl.value),k.id_("url"),I.class_("w-100 mv1"),k.required(!0),k.name("url"),k.autofocus(y.null(n.bm.url)),k.value(n.edit_bm.url),_.onValueChange(t(U.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("title"),I.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(B.create))]),S.button([k.disabled(n.loading),k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(P.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([H.text("tags")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("tags"),I.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),I.attr("autocapitalize")("off"),k.autofocus(!y.null(n.bm.url)),k.value(n.edit_bm.tags),_.onValueChange(t(O.create))])])]),S.tr_([S.td_([S.label([k.for("private")])([H.text("private")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("private"),I.class_("private pointer"),k.name("private"),k.checked(n.edit_bm.private),_.onChecked(t(W.create))])])]),S.tr_([S.td_([S.label([k.for("toread")])([H.text("read later")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),I.class_("toread pointer"),k.name("toread"),k.checked(n.edit_bm.toread),_.onChecked(t(q.create))])])]),S.tr_([S.td_([]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),k.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:T.mkEval({handleAction:function(n){if(n instanceof Q)return a.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});if(n instanceof V)return u.discard(u.discardUnit)(x.bindHalogenM)(a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(x.bindHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(e){return{url:e.url,title:n.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 instanceof g.Nothing)return r.pure(x.applicativeHalogenM)(E.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof z)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof U)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 B)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 P)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 O)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 W)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 q)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 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(L.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)((e=w.strongFn,p.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,loading:n.loading}}})(e)))(n))(function(){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(R.window))(function(e){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof g.Just?C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(N.setHref(r.value0)(n)):C.liftEffect(x.monadEffectHalogenM(M.monadEffectAff))(F.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:T.defaultEval.handleQuery,receive:T.defaultEval.receive,initialize:T.defaultEval.initialize,finalize:T.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.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 e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(c){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(c)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Nullable"],b=n["Data.Ord"],y=n["Data.Profunctor.Strong"],D=n["Data.Show"],E=n["Data.String.CodePoints"],M=n["Data.String.Common"],A=n["Data.Symbol"],C=n["Data.Unit"],F=n["Data.Void"],T=n.Effect,H=n["Effect.Aff"],S=n["Effect.Aff.Class"],_=n["Effect.Class"],k=n.Globals,x=n["Halogen.Component"],I=n["Halogen.HTML"],L=n["Halogen.HTML.Core"],R=n["Halogen.HTML.Elements"],N=n["Halogen.HTML.Events"],U=n["Halogen.HTML.Properties"],B=n["Halogen.Query.HalogenM"],P=n.Util,O=n["Web.Event.Event"],W=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}(),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}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=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}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(){}return n.value=new n,n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),en=function(){function n(){}return n.value=new n,n}(),tn=A.SProxy.value,rn=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,loading:n.loading}}})(n)},un=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,loading:n.loading}}})(n)},an=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,loading:n.loading}}})(n)};e.bmark=function(n){var e,p=function(n){return D.show(D.showInt)(n.bid)+"_tags"},on=k["app'"](C.unit);return x.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=E.take(16)(n.bm.time)+"Z",t=function(n){return P.fromNullableStr(on.userR)+"/t:"+n},u=function(n){return function(e){return g.Just.create(Z.create(n(e)))}};return R.div([U.id_(D.show(D.showInt)(n.bm.bid)),P.class_("bookmark w-100 mw7 pa1 mb3"+h.guard(h.monoidString)(n.bm.private)(" private"))])([P.whenH(on.dat.isowner)(function(e){return R.div([P.class_("star fl pointer"+h.guard(h.monoidString)(n.bm.selected)(" selected"))])([R.button([P.class_("moon-gray"),N.onClick(function(e){return new g.Just(new G(!n.bm.selected))})])([L.text("✭")])])}),P.ifElseH(n.edit)(function(e){return R.div([P.class_("edit_bookmark_form pa2 pt0 bg-white")])([R.form([N.onSubmit(function(n){return g.Just.create(nn.create(n))})])([R.div_([L.text("url")]),R.input([U.type_(L.isPropInputType)(f.InputUrl.value),P.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),N.onValueChange(u(W.create))]),R.div_([L.text("title")]),R.div([P.class_("flex")])([R.input([U.type_(L.isPropInputType)(f.InputText.value),P.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),N.onValueChange(u(q.create))]),R.button([U.disabled(n.loading),U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(X.value)}),P.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([L.text("fetch")])]),R.div_([L.text("description")]),R.textarea([P.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),N.onValueChange(u(J.create))]),R.div([U.id_("tags_input_box")])([R.div_([L.text("tags")]),R.input([U.id_(p(n.edit_bm)),U.type_(L.isPropInputType)(f.InputText.value),P.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),P.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),N.onValueChange(u(j.create))])]),R.div([P.class_("edit_form_checkboxes mv3")])([R.input([U.type_(L.isPropInputType)(f.InputCheckbox.value),P.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),N.onChecked(u(Q.create))]),L.text(" "),R.label([U.for("edit_private"),P.class_("mr2")])([L.text("private")]),L.text(" "),R.input([U.type_(L.isPropInputType)(f.InputCheckbox.value),P.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),N.onChecked(u(V.create))]),L.text(" "),R.label([U.for("edit_toread")])([L.text("to-read")])]),R.input([U.type_(L.isPropInputType)(f.InputSubmit.value),P.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),L.text(" "),R.input([U.type_(L.isPropInputType)(f.InputReset.value),P.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),N.onClick(function(n){return new g.Just(new $(!1))})])])])})(function(u){return R.div([P.class_("display")])([R.a([U.href(n.bm.url),U.target("_blank"),P.class_("link f5 lh-title"+h.guard(h.monoidString)(n.bm.toread)(" unread"))])([L.text(M.null(n.bm.title)?"[no title]":n.bm.title)]),R.br_,R.a([U.href(n.bm.url),P.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),R.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(w.toMaybe(n.bm.archiveUrl))),P.class_("link f7 gray hover-blue ml2"+h.guard(h.monoidString)(g.isJust(w.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(w.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),R.br_,R.div([P.class_("description mt1 mid-gray")])([I.slot()(new A.IsSymbol(function(){return"markdown"}))(b.ordUnit)(tn)(C.unit)(r.component)(n.bm.description)(F.absurd)]),R.div([P.class_("tags")])(P.whenA(!M.null(n.bm.tags))(function(e){return s.map(s.functorArray)(function(n){return R.a([P.class_("link tag mr1"+h.guard(h.monoidString)("."===E.take(1)(n))(" private")),U.href(t(n))])([L.text(n)])})(M.split(" ")(n.bm.tags))})),R.a([P.class_("link f7 dib gray w4"),U.href((a=n.bm.slug,P.fromNullableStr(on.userR)+"/b:"+a))])([L.text(e)]),P.whenH(on.dat.isowner)(function(e){return R.div([P.class_("edit_links di")])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new $(!0))}),P.class_("edit light-silver hover-blue")])([L.text("edit  ")]),R.div([P.class_("delete_link di")])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new K(!0))}),P.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),R.span([P.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(new K(!1))})])([L.text("cancel / ")]),R.button([U.type_(L.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new g.Just(Y.value)}),P.class_("red")])([L.text("destroy")])])])])}),P.whenH(on.dat.isowner)(function(e){return R.div([P.class_("read di")])(h.guard(h.monoidArray)(n.bm.toread)([L.text("  "),R.button([N.onClick(function(n){return new g.Just(en.value)}),P.class_("mark_read")])([L.text("mark as read")])]))})]);var a})])},eval:x.mkEval({handleAction:function(n){if(n instanceof G)return a.bind(B.bindHalogenM)(d.use(B.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(S.liftAff(B.monadAffHalogenM(S.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(B.bindHalogenM)(m.modifying(B.monadStateHalogenM)(an(y.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 m.modifying(B.monadStateHalogenM)(rn(y.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}})})})});if(n instanceof K)return i.modify_(B.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Y)return a.bind(B.bindHalogenM)(d.use(B.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(s.void(B.functorHalogenM)(S.liftAff(B.monadAffHalogenM(S.monadAffAff))(t.destroy(n.bid))))(function(){return B.raise(z.value)})});if(n instanceof en)return a.bind(B.bindHalogenM)(d.use(B.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(s.void(B.functorHalogenM)(S.liftAff(B.monadAffHalogenM(S.monadAffAff))(t.markRead(n.bid))))(function(){return m.modifying(B.monadStateHalogenM)(an(y.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}})})});if(n instanceof $)return a.bind(B.bindHalogenM)(d.use(B.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(m.assign(B.monadStateHalogenM)(rn(y.strongFn))(e))(function(){return a.discard(a.discardUnit)(B.bindHalogenM)(m.assign(B.monadStateHalogenM)(un(y.strongFn))(n.value0))(function(){return _.liftEffect(B.monadEffectHalogenM(H.monadEffectAff))(o.whenM(T.monadEffect)(u.pure(T.applicativeEffect)(n.value0))(k.setFocus(p(e))))})})});if(n instanceof Z)return m.modifying(B.monadStateHalogenM)(rn(y.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 q)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 J)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 j)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 V)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 234, column 17 - line 240, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return a.discard(a.discardUnit)(B.bindHalogenM)(i.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(B.bindHalogenM)(i.gets(B.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(B.bindHalogenM)(S.liftAff(B.monadAffHalogenM(S.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(B.monadStateHalogenM)(rn(y.strongFn))(function(e){return{url:e.url,title:n.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 instanceof g.Nothing)return u.pure(B.applicativeHalogenM)(C.unit);throw new Error("Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): "+[n.constructor.name])}())(function(){return i.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof nn)return a.discard(a.discardUnit)(B.bindHalogenM)(_.liftEffect(B.monadEffectHalogenM(H.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(B.bindHalogenM)(d.use(B.monadStateHalogenM)(rn(v.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(s.void(B.functorHalogenM)(S.liftAff(B.monadAffHalogenM(S.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(B.bindHalogenM)(m.assign(B.monadStateHalogenM)(an(y.strongFn))(n))(function(){return m.assign(B.monadStateHalogenM)(un(y.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): "+[n.constructor.name])},handleQuery:x.defaultEval.handleQuery,receive:x.defaultEval.receive,initialize:x.defaultEval.initialize,finalize:x.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Ord"],f=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],m=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}(),g=f.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new f.IsSymbol(function(){return"bookmark"}))(c.ordInt)(g)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,D=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return y.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return h.div_(o.map(o.functorArray)(function(n){return h.div([w.id_(f.show(f.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([h.div([y.class_("display")])([h.a([w.href(M(n.slug)),y.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),h.br_,h.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(c.monoidArray)(function(n){return[h.br_,g.text(n)]})(s.split("\n")(e))))),h.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(D(n))),w.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(D(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],D=n["Data.Profunctor.Strong"],E=n["Data.Show"],M=n["Data.String.Common"],A=n["Data.Symbol"],C=n["Data.Tuple"],F=n["Data.Unit"],T=n["Data.Void"],H=n.Effect,S=n["Effect.Aff"],_=n["Effect.Aff.Class"],k=n["Effect.Class"],x=n.Globals,I=n["Halogen.Component"],L=n["Halogen.HTML"],R=n["Halogen.HTML.Core"],N=n["Halogen.HTML.Elements"],U=n["Halogen.HTML.Events"],B=n["Halogen.HTML.Properties"],P=n["Halogen.Query.HalogenM"],O=n.Util,W=n["Web.Event.Event"],q=n["Web.HTML.Location"],J=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}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=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}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,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)},nn=A.SProxy.value,en=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)},tn=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)};e.nnote=function(n){var e,g=x["app'"](F.unit);return I.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return x.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(G.create(n(e)))}};return O.ifElseH(n.destroyed)(function(n){return N.p([O.class_("red")])([R.text("you killed this note")])})(d.const(O.ifElseH(n.edit)(function(e){return N.form([U.onSubmit(function(n){return w.Just.create(K.create(n))})])([N.p([O.class_("mt2 mb1")])([R.text("title:")]),N.input([B.type_(R.isPropInputType)(c.InputText.value),O.class_("title w-100 mb1 pt1 f7 edit_form_input"),B.name("title"),B.value(n.edit_note.title),U.onValueChange(t(J.create))]),N.br_,N.p([O.class_("mt2 mb1")])([R.text("description:")]),N.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),B.name("text"),B.rows(30),B.value(n.edit_note.text),U.onValueChange(t(j.create))]),N.div([O.class_("edit_form_checkboxes mb3")])([N.input([B.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),B.id_("edit_ismarkdown"),B.name("ismarkdown"),B.checked(n.edit_note.isMarkdown),U.onChecked(t(Q.create))]),R.text(" "),N.label([B.for("edit_ismarkdown"),O.class_("mr2")])([R.text("use markdown?")]),N.br_]),N.div([O.class_("edit_form_checkboxes mb3")])([N.input([B.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),B.id_("edit_shared"),B.name("shared"),B.checked(n.edit_note.shared),U.onChecked(t(V.create))]),R.text(" "),N.label([B.for("edit_shared"),O.class_("mr2")])([R.text("public?")]),N.br_]),N.input([B.type_(R.isPropInputType)(c.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("save")]),R.text(" "),N.input([B.type_(R.isPropInputType)(c.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("cancel"),U.onClick(function(n){return new w.Just(new X(!1))})])])})(function(t){return N.div([B.id_(E.show(E.showInt)(n.note.id)),O.class_("note w-100 mw7 pa1 mb2")])([N.div([O.class_("display")])([N.div([O.class_("link f5 lh-title")])([R.text(M.null(n.note.title)?"[no title]":n.note.title)]),N.br_,n.note.isMarkdown?N.div([O.class_("description mt1")])([L.slot()(new A.IsSymbol(function(){return"markdown"}))(y.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(T.absurd)]):N.div([O.class_("description mt1 mid-gray")])((u=n.note.text,f.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[N.br_,R.text(n)]})(M.split("\n")(u))))),N.div([O.class_("link f7 dib gray w4")])([N.span([B.title(w.maybe(n.note.created)(C.snd)(e(n.note)))])([R.text(w.maybe(" ")(C.fst)(e(n.note)))]),R.text(" - "),N.span([O.class_("gray")])([R.text(n.note.shared?"public":"private")])])]),O.whenH(g.dat.isowner)(function(e){return N.div([O.class_("edit_links db mt3")])([N.button([B.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new X(!0))}),O.class_("edit light-silver hover-blue")])([R.text("edit  ")]),N.div([O.class_("delete_link di")])([N.button([B.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new Y(!0))}),O.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([R.text("delete")]),N.span([O.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([N.button([B.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just(new Y(!1))})])([R.text("cancel / ")]),N.button([B.type_(R.isPropButtonType)(i.ButtonButton.value),U.onClick(function(n){return new w.Just($.value)}),O.class_("red")])([R.text("destroy")])])])])})]);var u})))},eval:I.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(P.applicativeHalogenM)(F.unit);if(n instanceof G)return h.modifying(P.monadStateHalogenM)(en(D.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,shared:e.shared,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:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,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:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return o.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(v.void(P.functorHalogenM)(_.liftAff(P.monadAffHalogenM(_.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(h.assign(P.monadStateHalogenM)(en(D.strongFn))(e))(function(){return h.assign(P.monadStateHalogenM)(tn(D.strongFn))(n.value0)})});if(n instanceof K)return a.discard(a.discardUnit)(P.bindHalogenM)(k.liftEffect(P.monadEffectHalogenM(S.monadEffectAff))(W.preventDefault(n.value0)))(function(){return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(P.bindHalogenM)(_.liftAff(P.monadAffHalogenM(_.monadAffAff))(t.editNote(n)))(function(e){return s.for_(P.applicativeHalogenM)(l.foldableEither)(e)(function(e){return 0===n.id?k.liftEffect(P.monadEffectHalogenM(S.monadEffectAff))(a.bindFlipped(H.bindEffect)(q.setHref(O.fromNullableStr(g.noteR)))(O._loc)):a.discard(a.discardUnit)(P.bindHalogenM)(h.assign(P.monadStateHalogenM)(Z(D.strongFn))(n))(function(){return h.assign(P.monadStateHalogenM)(tn(D.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): "+[n.constructor.name])},handleQuery:I.defaultEval.handleQuery,receive:I.defaultEval.receive,initialize:I.defaultEval.initialize,finalize:I.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Show"],w=n["Data.String.Common"],b=n["Data.Tuple"],y=n["Data.Unfoldable"],D=n["Data.Unit"],E=n["Effect.Aff.Class"],M=n["Foreign.Object"],A=n.Globals,C=n["Halogen.Component"],F=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],H=n["Halogen.HTML.Events"],S=n["Halogen.HTML.Properties"],_=n["Halogen.Query.HalogenM"],k=n.Math,x=n.Model,I=n.Util,L=function(){function n(){}return n.value=new n,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}();e.tagcloudcomponent=function(n){var e,U=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return(r-t<.01?1:n(e-t)/n(r-t))*(a-u)+u}}}}}},B=function(n){return n instanceof x.TagCloudModeNone?r.pure(_.applicativeHalogenM)(D.unit):u.bind(_.bindHalogenM)(E.liftAff(_.monadAffHalogenM(E.monadAffAff))(t.getTagCloud(x.tagCloudModeFromF(n))))(function(e){return o.modify_(_.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(M.empty)(e),r})})},P=A["app'"](D.unit),O=function(n){return function(e){var t=d.map(d.functorArray)(b.uncurry(function(n){return function(e){return function(t){return function(r){var u,o=U(function(n){return k.log(1+n)})(v.toNumber(r))(v.toNumber(n))(v.toNumber(e))(.6)(1),i=U(a.identity(a.categoryFn))(v.toNumber(r))(v.toNumber(n))(v.toNumber(e))(100)(150);return T.a([S.href((u=t,I.fromNullableStr(P.userR)+"/t:"+u)),I.class_("link tag mr1"),S.attr("style")("font-size:"+h.show(h.showNumber)(i)+"%;opacity:"+h.show(h.showNumber)(o))])([F.text(t)])}}}}(n)(e))),r=c.sortBy(g.comparing(g.ordString)(function(n){return w.toLower(b.fst(n))})),u=M.toUnfoldable(y.unfoldableArray);return function(n){return t(r(u(n)))}}};return C.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof x.TagCloudModeNone)return T.div([I.class_("tag_cloud")])([]);var e=new x.TagCloudModeTop(x.isExpanded(n.mode),200),t=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),5),r=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),20),u=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),2),a=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),10),o=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),1);return T.div([I.class_("tag_cloud mv3")])([T.div([I.class_("tag_cloud_header mb2")])([T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(e))(" b")),S.title("show a cloud of your most-used tags"),H.onClick(function(n){return new p.Just(new N(e))})])([F.text("Top Tags")]),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(o))(" b")),S.title("show all tags"),H.onClick(function(n){return new p.Just(new N(o))})])([F.text("all")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(u))(" b")),S.title("show tags with at least 2 bookmarks"),H.onClick(function(n){return new p.Just(new N(u))})])([F.text("2")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(t))(" b")),S.title("show tags with at least 5 bookmarks"),H.onClick(function(n){return new p.Just(new N(t))})])([F.text("5")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(a))(" b")),S.title("show tags with at least 10 bookmarks"),H.onClick(function(n){return new p.Just(new N(a))})])([F.text("10")]),F.text("‧"),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(r))(" b")),S.title("show tags with at least 20 bookmarks"),H.onClick(function(n){return new p.Just(new N(r))})])([F.text("20")]),T.button([S.type_(F.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 ml2 f7 link silver hover-blue "),H.onClick(function(e){return new p.Just(new R(!x.isExpanded(n.mode)))})])([F.text(x.isExpanded(n.mode)?"hide":"show")])]),I.whenH(x.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud)));return T.div([I.class_("tag_cloud_body")])(n.mode instanceof x.TagCloudModeNone?[]:O(t)(r)(n.tagcloud))})])},eval:C.mkEval({handleAction:function n(e){if(e instanceof L)return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(n){return B(n)});if(e instanceof R)return u.discard(u.discardUnit)(_.bindHalogenM)(o.modify_(_.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=x.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(_.functorHalogenM)(E.liftAff(_.monadAffHalogenM(E.monadAffAff))(t.updateTagCloudMode(x.tagCloudModeFromF(n))))})});if(e instanceof N)return u.bind(_.bindHalogenM)(o.gets(_.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(x.eqTagCloudModeF)(t)(e.value0)?n(new R(!x.isExpanded(t))):B(x.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 142, column 3 - line 142, column 69): "+[e.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:new p.Just(L.value),finalize:C.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],c=n["Data.List.Types"],f=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=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}(),p=function(n){return function(e){return new v(n,e)}},m=d.create,g=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var f,p=n,m=e,g=r,h=u,w=a,b=!1;function y(n,e,r,u,a,f){if(a instanceof s)return b=!0,new l.Tuple(new c.Cons({func:t.pure(n)(a.value0),count:f},e),r);if(a instanceof d)return b=!0,new l.Tuple(new c.Cons({func:u(a.value0),count:f},e),r);if(a instanceof v)return p=n,m=e,g=i.cons(a.value1)(r),h=u,w=a.value0,void(o=f+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)f=y(p,m,g,h,w,o);return f}}}}}},h=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof c.Nil)return v=!0,new a.Left(o);if(e instanceof c.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof c.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof c.Nil)return v=!0,new a.Left(p);if(t instanceof c.Cons)return v=!0,a.Right.create(new l.Tuple(new c.Cons({func:p,count:e.value0.count-1|0},e.value1),new f.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=h(n)(u.value0)(u.value1.value1)(t.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): "+[i.constructor.name])}if(u.value1.value0 instanceof d){var i;if((i=h(n)(u.value0)(u.value1.value1)(e(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): "+[i.constructor.name])}if(!(u.value1.value0 instanceof v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var c=new f.NonEmpty(u.value1.value0.value1,u.value1.value1);r=g(n)(u.value0)(c)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(c.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),D=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(D)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],c=n["Data.Bifunctor"],f=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],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}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),g=p.create,h=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(c.bimap(f.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return h(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return E(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return D(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return h(n.value0)(function(t){return h(function(e){return n.value1(t)})(e)})})(n.value0):h(function(e){return n})(e)}})}},D=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},E=function(n){return function(e){return new t.Applicative(function(){return D(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new f.Left(n))})})}},M=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof f.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new f.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): "+[r.constructor.name])})}};e.freeT=g,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new f.Right(s.map(n)(t.pure(E(n)(e)))(r)))})}}},e.resume=M,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof f.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): "+[n.constructor.name])})(M(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=E,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(f.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(E(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],c=n["Control.Monad.Rec.Class"],f=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],g=n["Data.Newtype"],h=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=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}(),D=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),E=function(n){return function(e){return function(r){return function(a){return function(c){return function(f){return function(l){return i.freeT(function(s){return function f(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return f(n)})})(c(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(f,l))})}}}}}}},M=function(n){return function(e){return function(a){return function(o){return function(c){return function(f){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(c)(r.apply(c.Applicative1().Apply0())(v.map(c.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(f(w.Tuple.create)))(l.parallel(c)(i.resume(n)(o)(p.value0))))(l.parallel(c)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},A=new v.Functor(h.rmap(D)),C=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(C));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=g.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return c.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new c.Loop(b.unit))(c.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(f.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(A)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return M(F)(A)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return E(A)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=A}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=a,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,c,f,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,c=e.value,f=d.size,null!==e.error){for(c=n.left(e.error);t=o(l);)u(t.cb(c));for(;a=o(d);)u(a(c));for(;i=o(s);)u(i(c));break}if(c===r&&(t=o(l))&&(e.value=c=t.value),c!==r){for(i=o(s);f--&&(a=o(d));)u(a(n.right(c)));null!==i&&(e.value=r,u(i(n.right(c))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=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}(),i=function(){function n(){}return n.value=new n,n}(),c={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(c,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(c,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(c,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:w,forks:b,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Free"],f=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],g=n["Data.Foldable"],h=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],D=n["Data.Maybe"],E=n["Data.Ord"],M=n["Data.Unit"],A=n.Effect,C=n["Effect.Aff"],F=n["Effect.Class"],T=n["Effect.Exception"],H=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],L=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],N=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(t){if(t instanceof D.Nothing)return e;if(t instanceof D.Just)return F.liftEffect(C.monadEffectAff)(H.write(new D.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},U=function(n){return function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(e))(function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(C.bindAff)(s.parSequence_(C.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(C.applicativeAff)(e)})})})})})}},B=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(e){return F.liftEffect(C.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},P=function(n){return function(e){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(D.Just.create)(p.liftCoyoneda(t)),h.const(D.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var h;return c.foldFree(C.monadRecAff)((h=s,function(c){if(c instanceof x.State)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(C.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(h)))(function(){return u.discard(u.discardUnit)(C.bindAff)(U(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(C.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(c instanceof x.Subscribe)return u.bind(C.bindAff)(B(x.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(o){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(u.bind(C.bindAff)(r)(function(r){var c=u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(D.maybe(!1)(y.member(x.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(a.await(C.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(C.monadAff))(m.eq(D.eqMaybe(m.eqBoolean))(w.map(D.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new D.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new L.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.insert(x.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(C.bindAff)(a.runProcess(C.monadRecAff)(a.pullFrom(C.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(C.applicativeAff)(c.value1(n))})})});if(c instanceof x.Unsubscribe)return u.discard(u.discardUnit)(C.bindAff)((s=c.value0,function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(C.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(D.bindMaybe)(y.lookup(x.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(C.applicativeAff)(c.value1)});var s,p,b;if(c instanceof x.Lift)return c.value0;if(c instanceof x.ChildQuery)return function(n){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(C.functorAff)(t.value2)(d.sequential(C.parallelAff)(t.value0(C.applicativeParAff)(function(n){return d.parallel(C.parallelAff)(u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return P(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof x.Raise)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(N(n.pendingOuts)(e(c.value0)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.Par)return d.sequential(C.parallelAff)(r.retractFreeAp(C.applicativeParAff)(r.hoistFreeAp((p=d.parallel(C.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof x.Fork)return u.bind(C.bindAff)(B(x.ForkId)(h))(function(r){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(a){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.new(!1)))(function(f){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(C.finally(F.liftEffect(C.monadEffectAff)(function(){return H.modify_(y.delete(x.ordForkId)(r))(a.forks)(),H.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(o.unlessM(A.monadEffect)(H.read(f))(H.modify_(y.insert(x.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(C.applicativeAff)(c.value1(r))})})})})});if(c instanceof x.Kill)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.forks)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(g.foldableMaybe)(C.killFiber(T.error("Cancelled")))(y.lookup(x.ordForkId)(c.value0)(n)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.GetRef)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return t.pure(C.applicativeAff)(c.value1(y.lookup(E.ordString)(c.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[c.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof L.RefUpdate)return F.liftEffect(C.monadEffectAff)(h.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(E.ordString)(h.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof L.Action)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=P,e.evalM=O,e.handleLifecycle=U,e.queueOrRun=N}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Rec.Class"],f=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],g=n["Data.Map.Internal"],h=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,D=n["Effect.Aff"],E=n["Effect.Aff.AVar"],M=n["Effect.Class"],A=n["Effect.Console"],C=n["Effect.Exception"],F=n["Effect.Ref"],T=n["Halogen.Aff.Driver.Eval"],H=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],L=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=D.runAff_(l.either(C.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),N=function(n){return function(){var e,t=F.read(n)();return F.write(h.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(U){var B=function(n){return function(e){return function(t){return r.bind(D.bindAff)(E.empty)(function(u){return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(function(){var t=F.read(n)();return F.modify_(function(n){return n+1|0})(n)(),F.modify_(g.insert(w.ordInt)(t)(u))(e)(),t}))(function(n){var c=a.producer(D.monadAff)(v.map(D.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(D.monadErrorAff)(E.take(u))));return v.void(D.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(D.bindAff)(a.runProcess(D.monadRecAff)(a.connect(D.monadRecAff)(D.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(D.bindAff)(M.liftEffect(D.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return E.kill(C.error("ended"))(u)})})))})})}}},P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=L(),i=H.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(H.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return H.unDriverStateX(function(t){var u=T.evalM(W)(t.selfRef)(t.component.eval(new x.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(D.bindAff)(f.parSequence_(D.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(D.bindAff)(u)(function(){return M.liftEffect(D.monadEffectAff)(function(){return N(t.pendingQueries)(),N(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(c.initializers))(F.read(i))(),i}})}}},O=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var c=v.map(y.functorEffect)(i.pop)(F.read(a))(),f=function(){if(c instanceof h.Just){F.write(c.value0.value1)(a)();var n=F.read(c.value0.value0)();return H.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return i.input instanceof x.Receive?P(e)((r=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): "+[c.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return h.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(A.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(f))(o)(),r.bind(y.bindEffect)(F.read(f))(H.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof h.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): "+[e.constructor.name])}))()}})}}}},W=function e(r){return function(a){return function(){var o=F.read(a)(),f=v.map(y.functorEffect)(h.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(f)(F.write(new h.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,g,w,E,M=u.identity(u.categoryFn)(o.selfRef),A=u.identity(u.categoryFn)(o.pendingQueries),C=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=T.queueOrRun(C),g=v.void(D.functorAff),w=T.evalF(e)(M),function(n){return l(g(w(n)))}),k=(E=T.queueOrRun(A),function(n){return E(S(I.Action.create(n)))}),x=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),L=F.read(o.childrenOut)(),N=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(N)(function(e){return function(){var t=F.read(e)();return H.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(H.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:L,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new h.Just(x),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(f)(d.flip(c.tailRecM(c.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(C)();F.write(new h.Just(m.Nil.value))(C)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(C)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(C))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return H.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(D.applicativeAff)(g.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(h.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((t=D.killFiber(C.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=T.evalM(W)(t.selfRef)(t.component.eval(new x.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},J=function(n){return function(e){return function(u){return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(D.applicativeAff)(h.Nothing.value):T.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return T.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((o=E.kill(C.error("disposed")),function(n){return D.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),H.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(L))(function(n){return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(F.new(0)))(function(u){return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(F.new(!1)))(function(a){return T.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(P(n)((o=c,function(n){return r.bind(D.bindAff)(M.liftEffect(D.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(D.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(E.put(n))(e))})}))(U)(e))();return H.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:B(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&u.refEq(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],D=n["Halogen.VDom.Machine"],E=n["Halogen.VDom.Thunk"],M=n["Unsafe.Reference"],A=n["Web.DOM.Node"],C=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],T=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=A.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return A.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?D.halt(n.value0):l.unit};return{buildWidget:function(n){var t=E.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return D.mkStep(new D.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return D.mkStep(new D.Step(D.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return D.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=D.step(e.value0,t.value0);return D.mkStep(new D.Step(D.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=D.extract(d);return o.void(s.functorEffect)(A.appendChild(v)(T.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=A.parentNode(d.value0.node)(),e=A.nextSibling(d.value0.node)(),r=D.step(d.value0.machine,a),f=D.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(A.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(A.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(C.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],w=n["Halogen.VDom.Driver"],b=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],M=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),A=t._mainImpl;e.main=A,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(o.blist(e))(v.unit)(n)))(function(){return M})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(w.runUI(f.tagcloudcomponent(b.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(a.addbmark(e))(v.unit)(n)))(function(){return M})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(i.nlist(e))(v.unit)(n)))(function(){return M})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(c.nnote(e))(v.unit)(n)))(function(){return M})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(u.usetting(e))(v.unit)(n)))(function(){return M})})))}},e.viewRendered=M,e._mainImpl=t._mainImpl}(t),t.Main.main(); },{"moment":"a2Bw","marked":"F7mU","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.js.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index 0f9e9cd9e58dd65b50b5020ce9a8ab503e5db1fa..073b7f13b0daac65621c560051451a9a951c04e6 100644 GIT binary patch delta 63838 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

_fj!q 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 HP7VbC2^}bF delta 63669 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 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: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\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)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\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', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\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 nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\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 heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\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 this.rules = block.gfm;\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 var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\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 (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: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : 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 (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].charAt(0) === '=' ? 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)\\]\\(\\s*(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\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\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\\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: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/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 var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\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(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : 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 this.token = this.tokens.pop();\n return this.token;\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 var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(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 return this.renderer.listitem(body, task, checked);\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\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\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 checkSanitizeDeprecation(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 checkSanitizeDeprecation(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 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.13.6\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\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, xhr) {\n if (xhr.nodejsBaseUrl === null) {\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 } else {\n return url || \"/\";\n }\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, xhr);\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 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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\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[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\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[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \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 var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\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 \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\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 mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\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[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\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 unless = 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 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\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[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\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[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs === ys) return true;\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return new Eq($foreign.eqArrayImpl(eq(dictEq)));\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\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 Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\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 69, column 30): \" + [ 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 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\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[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\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[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\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 exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\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 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 73, column 1 - line 73, 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[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \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[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \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 var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\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 52, column 19): \" + [ 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 string = new $$String(Control_Category.identity(Control_Category.categoryFn));\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[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\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 lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\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[\"lmap\"] = lmap;\n exports[\"rmap\"] = rmap;\n})(PS);\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 \"use strict\";\n\n var 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 exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var Data_Eq = $PS[\"Data.Eq\"]; \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 var eqOrdering = new Data_Eq.Eq(function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n });\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\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 }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\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_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\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_Unit = $PS[\"Data.Unit\"]; \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 () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\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 foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $116 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($116) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 389, column 3 - line 389, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $120 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($120) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 402, column 3 - line 402, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\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 135, column 27): \" + [ 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 135, column 27): \" + [ 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 135, column 27): \" + [ 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[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\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 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 note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\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 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ 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 Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\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 hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\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 48, column 36): \" + [ 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 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindEither = new Control_Bind.Bind(function () {\n return applyEither;\n }, either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }));\n var applicativeEither = new Control_Applicative.Applicative(function () {\n return applyEither;\n }, Right.create);\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 () {\n var $17 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($18) {\n return $17(Data_Either.Left.create($18));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\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_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 () {\n var $90 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($91) {\n return $90(Data_Either.Left.create($91));\n };\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 () {\n var $92 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($93) {\n return ExceptT($92(Data_Either.Right.create($93)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $102 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($103) {\n return ExceptT($102(Data_Either.Left.create($103)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\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_Newtype = $PS[\"Data.Newtype\"]; \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[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n var mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n };\n exports[\"runExcept\"] = runExcept;\n exports[\"mapExcept\"] = mapExcept;\n})(PS);\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 Object.prototype.toString.call(a) === \"[object Array]\";\n }\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\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\n exports.toArrayWithKey = toArrayWithKey;\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.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortImpl = function (f) {\n return function (l) {\n return l.slice().sort(function (x, y) {\n return f(x)(y);\n });\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \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 uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\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 var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \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[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 143, column 3 - line 145, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n }; \n var sortBy = function (comp) {\n return function (xs) {\n var comp$prime = function (x) {\n return function (y) {\n var v = comp(x)(y);\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 702, column 15 - line 705, column 13): \" + [ v.constructor.name ]);\n };\n };\n return $foreign.sortImpl(comp$prime)(xs);\n };\n };\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 () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"singleton\"] = singleton;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FoldableWithIndex\"] = $PS[\"Data.FoldableWithIndex\"] || {};\n var exports = $PS[\"Data.FoldableWithIndex\"];\n var FoldableWithIndex = function (Foldable0, foldMapWithIndex, foldlWithIndex, foldrWithIndex) {\n this.Foldable0 = Foldable0;\n this.foldMapWithIndex = foldMapWithIndex;\n this.foldlWithIndex = foldlWithIndex;\n this.foldrWithIndex = foldrWithIndex;\n };\n exports[\"FoldableWithIndex\"] = FoldableWithIndex;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FunctorWithIndex\"] = $PS[\"Data.FunctorWithIndex\"] || {};\n var exports = $PS[\"Data.FunctorWithIndex\"]; \n var FunctorWithIndex = function (Functor0, mapWithIndex) {\n this.Functor0 = Functor0;\n this.mapWithIndex = mapWithIndex;\n };\n exports[\"FunctorWithIndex\"] = FunctorWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"Traversable\"] = Traversable;\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"]; \n var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) {\n this.FoldableWithIndex1 = FoldableWithIndex1;\n this.FunctorWithIndex0 = FunctorWithIndex0;\n this.Traversable2 = Traversable2;\n this.traverseWithIndex = traverseWithIndex;\n };\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"TraversableWithIndex\"] = TraversableWithIndex;\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\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_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = new Data_Functor.Functor(function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n });\n var functorWithIndexObject = new Data_FunctorWithIndex.FunctorWithIndex(function () {\n return functorObject;\n }, mapWithKey);\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }, function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n });\n var foldableWithIndexObject = new Data_FoldableWithIndex.FoldableWithIndex(function () {\n return foldableObject;\n }, function (dictMonoid) {\n return foldMap(dictMonoid);\n }, function (f) {\n return fold(Data_Function.flip(f));\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n });\n var traversableWithIndexObject = new Data_TraversableWithIndex.TraversableWithIndex(function () {\n return foldableWithIndexObject;\n }, function () {\n return functorWithIndexObject;\n }, function () {\n return traversableObject;\n }, function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n });\n var traversableObject = new Data_Traversable.Traversable(function () {\n return foldableObject;\n }, function () {\n return functorObject;\n }, function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n }, function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n });\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \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);\n(function(exports) {\n \"use strict\";\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.toLower = function (s) {\n return s.toLowerCase();\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \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[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\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[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n };\n var showNumber = new Show($foreign.showNumberImpl);\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 exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \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 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \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 listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\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 109, column 12 - line 111, 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 var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\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 155, column 1 - line 157, column 48): \" + [ 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[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \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);\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 if (count === 0) {\n return cb();\n }\n\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 try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\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 unmasked 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 && bracketCount === 0) {\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 unmasked 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 && bracketCount === 0 || 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 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, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\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 bracketCount++;\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.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\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.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})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\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 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 var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \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[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \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 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\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[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\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()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\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_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 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_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\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 54): \" + [ 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 397, column 54): \" + [ 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 fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var launchAff_ = (function () {\n var $43 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($44) {\n return $43(launchAff($44));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\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 $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return Canceler(Data_Function[\"const\"]($45($46)));\n };\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 () {\n var $49 = Effect_Class.liftEffect(monadEffectAff);\n return function ($50) {\n return $49(k($50));\n };\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 () {\n var $53 = Control_Parallel_Class.parallel(parallelAff);\n var $54 = Control_Applicative.pure(applicativeAff);\n return function ($55) {\n return $53($54($55));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\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 (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\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);\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.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\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 Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\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 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 () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\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 readNumber = unsafeReadTagged(\"Number\");\n var readInt = function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $109 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($110) {\n return $109(Data_Int.fromNumber($110));\n };\n })();\n return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function[\"const\"](error))(fromNumber))(readNumber(value));\n };\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[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\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 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 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_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_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\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 Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var XHRError = (function () {\n function XHRError(value0) {\n this.value0 = value0;\n };\n XHRError.create = function (value0) {\n return new XHRError(value0);\n };\n return XHRError;\n })();\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 ($47) {\n return Foreign.fail(Foreign.ForeignError.create($47));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (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 ($48) {\n return req.responseFormat.value0(parseJSON($48));\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 237, column 18 - line 243, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 203, column 20 - line 218, column 69): \" + [ 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 ajaxRequest = function (v) {\n return {\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: v,\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 };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 184, column 9 - line 186, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left(new XHRError(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 182, column 86 - line 188, column 28): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 173, column 7 - line 177, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 169, column 3 - line 177, column 48): \" + [ req.content.constructor.name ]);\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var eqStatusCode = new Data_Eq.Eq(function (x) {\n return function (y) {\n return x === y;\n };\n });\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var DecodeJson = function (decodeJson) {\n this.decodeJson = decodeJson;\n }; \n var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.caseJsonNumber(new Data_Either.Left(\"Value is not a Number\"))(Data_Either.Right.create)); \n var decodeJson = function (dict) {\n return dict.decodeJson;\n }; \n var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an integer\"))(Data_Either.Right.create);\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeJson(decodeJsonNumber)));\n var decodeJObject = (function () {\n var $56 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an Object\"))(Data_Either.Right.create);\n return function ($57) {\n return $56(Data_Argonaut_Core.toObject($57));\n };\n })();\n var decodeForeignObject = function (dictDecodeJson) {\n return new DecodeJson((function () {\n var $83 = Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) {\n return \"Couldn't decode ForeignObject: \" + v;\n });\n var $84 = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject);\n return function ($85) {\n return $83($84($85));\n };\n })());\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\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\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Effect = $PS[\"Effect\"]; \n var RawHTML = function (x) {\n return x;\n };\n var setFocus = function (s) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_setFocus\"](s));\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 exports[\"setFocus\"] = setFocus;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $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);\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})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\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 var $87 = writeImpl(dictWriteForeign);\n return function ($88) {\n return Global_Unsafe.unsafeStringify($87($88));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $91 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($92) {\n return $91(Data_Nullable.toMaybe($92));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));\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)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\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_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\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 tagcloudmode_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"expanded\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"mode\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"value\";\n }))(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_Array.singleton(s));\n })(Foreign.readString(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 93, column 1 - line 93, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 109, column 1 - line 109, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\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 \"shared\";\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 \"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 isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 103, column 1 - line 103, column 39): \" + [ v.constructor.name ]);\n };\n var eqTagCloudModeF = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n });\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[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n exports[\"tagcloudmode_wfI\"] = tagcloudmode_wfI;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\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 Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\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_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 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 29, column 1 - line 31, column 25): \" + [ 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 () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\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[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\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 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n \n // | This module defines the `MonadState` type class and its instances.\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n\n // | The `MonadState s` type class represents those monads which support a single piece of mutable\n // | state of type `s`.\n // |\n // | - `state f` updates the state using the function `f`.\n // |\n // | An implementation is provided for `StateT`, and for other monad transformers\n // | defined in this library.\n // |\n // | Laws:\n // |\n // | - `do { get ; get } = get`\n // | - `do { put x ; put y } = put y`\n // | - `do { put x ; get } = put x $> x`\n // | - `do { s <- get ; put s } = pure unit`\n // |\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\n // | Modify the state by applying a function to the current state. The returned\n // | value is the new state value.\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\n // | Get a value which depends on the current state.\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\n // | Get the current state.\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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 first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\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 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[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\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 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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\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 var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\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_Tuple = $PS[\"Data.Tuple\"]; \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 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 99, column 110): \" + [ 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[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \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 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[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\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 exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\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_Tuple = $PS[\"Data.Tuple\"]; \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[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\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_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\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 227, column 7 - line 231, 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 225, column 3 - line 233, 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 () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\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 ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\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 ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, 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[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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 SubscriptionId = function (x) {\n return x;\n };\n var ForkId = 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 Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\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 ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\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 HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\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 = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\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 Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\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_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\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 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\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 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\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.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\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[\"forEachE\"] = $foreign.forEachE;\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\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 169, column 5 - line 179, 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 haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $54 = v11.value2 === v2.value2;\n if ($54) {\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 $63 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($63) {\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 ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, 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 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\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 ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\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(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\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 86, column 7 - line 86, 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[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\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 widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\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 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\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(ns, name, props, children);\n };\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[\"widget\"] = widget;\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[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\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[\"a\"] = a;\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[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\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 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_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\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[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\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[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \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[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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 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 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[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\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 semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \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 exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\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 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 () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\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[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\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_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\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 whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $43 = Data_Maybe.fromMaybe(\"\");\n return function ($44) {\n return $43(Data_Nullable.toMaybe($44));\n };\n })();\n var class_ = function ($45) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($45));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $46 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($47) {\n return Global_Unsafe.unsafeDecodeURIComponent($46($47));\n };\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 $42 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($42) {\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 ($50) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($50));\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 loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\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_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_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 Util = $PS[\"Util\"]; \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) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\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 ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 handleAction = 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 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\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 (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\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 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_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_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\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_Component = $PS[\"Halogen.Component\"];\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 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) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\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 loading: v.loading\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 loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ 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_([ Util.whenH(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.isPropInputType)(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([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), 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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\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 $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.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 (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\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 (bid) {\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(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return 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 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\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 (edit_bm) {\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(edit_bm))))(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))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // 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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\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_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\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 Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\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 SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\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 handleAction = 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 (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\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 $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\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 = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\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_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\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_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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_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 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 BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\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 loading: v.loading\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 loading: v.loading\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 loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = 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 (bm) {\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(bm.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 (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: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(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: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\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 (bm) {\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(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\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 (bm) {\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(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(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: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\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 (bm) {\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))(bm))(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 Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return 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 234, column 17 - line 240, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\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 $59 = {};\n for (var $60 in v1) {\n if ({}.hasOwnProperty.call(v1, $60)) {\n $59[$60] = v1[$60];\n };\n };\n $59.loading = true;\n return $59;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.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 (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $64 = {};\n for (var $65 in v1) {\n if ({}.hasOwnProperty.call(v1, $65)) {\n $64[$65] = v1[$65];\n };\n };\n $64.loading = false;\n return $64;\n });\n });\n });\n });\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 (edit_bm) {\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(edit_bm))))(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))(edit_bm))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return 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(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shtime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\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 ($73) {\n return Data_Maybe.Just.create(BEditField.create(f($73)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($74) {\n return Data_Maybe.Just.create(BEditSubmit.create($74));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), 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.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ 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 $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\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 $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\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\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return 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));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return 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(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\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\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\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_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\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_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\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_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 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 (note) {\n return Globals.mmoment8601(note.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 handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\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 (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\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 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_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\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_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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_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 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 Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\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 _markdown = Data_Symbol.SProxy.value;\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 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 handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return 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 shared: v1.shared,\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 shared: v1.shared,\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 shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\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: v1.isMarkdown,\n shared: 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 177, column 19 - line 181, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\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 (note) {\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(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\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 (note) {\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))(note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\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 (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\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))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): \" + [ v.constructor.name ]);\n };\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 = function (v1) {\n return 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\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\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()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(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_Elements.span([ 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_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\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 DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\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_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (f(v - n) / f(m - n)) * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $21 = {};\n for (var $22 in s) {\n if ({}.hasOwnProperty.call(s, $22)) {\n $21[$22] = s[$22];\n };\n };\n $21.mode = mode$prime;\n $21.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $21;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $25 = {};\n for (var $26 in s) {\n if ({}.hasOwnProperty.call(s, $26)) {\n $25[$26] = s[$26];\n };\n };\n $25.mode = Model.setExpanded(s.mode)(v.value0);\n return $25;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $29 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($29) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 142, column 3 - line 142, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var toSizedTag = function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($37) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($37));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity))))) ])([ Halogen_HTML_Core.text(k) ]);\n };\n };\n };\n };\n var toArray = function (n) {\n return function (m) {\n var $38 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(n)(m)));\n var $39 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($42) {\n return Data_String_Common.toLower(Data_Tuple.fst($42));\n }));\n var $40 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($41) {\n return $38($39($40($41)));\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modetop));\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb2));\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb5));\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb10));\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $33 = Model.isExpanded(v.mode);\n if ($33) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ]), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n return toArray(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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 62, column 47): \" + [ 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[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\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_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\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_Unit = $PS[\"Data.Unit\"]; \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 () {\n var $123 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($124) {\n return $123(v1.value1($124));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, 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 54, column 20 - line 56, 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 52, column 5 - line 57, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, 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 141, column 3 - line 141, 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 82, column 15 - line 84, 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[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\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_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_Class = $PS[\"Control.Parallel.Class\"];\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_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 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 () {\n var $176 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $177 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($178) {\n return $176($177($178));\n };\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 (l) {\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 (r) {\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 (v1) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(l)(r)));\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 (next) {\n if (next instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(next.value0));\n };\n if (next 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 (v1) {\n return go(t);\n });\n })(next.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ next.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 (e) {\n if (e instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(e.value0))(Data_Maybe.Nothing.value);\n };\n if (e instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(e.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ e.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[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\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 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 fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \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[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(c);\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 c = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n }; \n var kill = function (error) {\n var $11 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $12 = Effect_AVar.kill(error);\n return function ($13) {\n return $11($12($13));\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\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 Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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 = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\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 = $PS[\"Control.Monad\"];\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 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_Types = $PS[\"Data.List.Types\"];\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_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 Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (subs) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\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 au;\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(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\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 (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\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))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return 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 return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.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: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n var v2 = v1.value0(sid);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v2)(function (v4) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions)))(function (subs) {\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[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(sid)))(v3.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(Halogen_Query_EventSource.finalize(v4.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (act) {\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(v3.subscriptions))))(function (subs) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(new Data_Maybe.Just(true)))(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)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(act)))))(function () {\n return consumer;\n }));\n });\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(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(done)))(v3.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v4.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 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 () {\n var $85 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $86 = evalM(render)(ref);\n return function ($87) {\n return $85($86($87));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\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_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\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_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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_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_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \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 handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $30 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $32 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($33) {\n return $32(Halogen_Query_EventSource.finalize($33));\n };\n })());\n return function ($31) {\n return handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $34 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($35) {\n return handleAff($34($35));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\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 (inputVar) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var listenerId = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v) {\n return v + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(listenerId)(inputVar))(ref)();\n return listenerId;\n }))(function (listenerId) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(inputVar))));\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)(listenerId))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(inputVar);\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 (listeners) {\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))(listeners));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\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)(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 Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $36 = render(lchs);\n return function ($37) {\n return $36((function (v) {\n return v.selfRef;\n })($37));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $38 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($39) {\n return $38(slot.output($39));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)((function () {\n var $40 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($41) {\n return $40(slot.output($41));\n };\n })())(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($42) {\n return Data_Maybe.isJust(slot.get($42));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): \" + [ v.constructor.name ]);\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 shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $44 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $45 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($46) {\n return $43($44($45($46)));\n };\n })();\n var childHandler = (function () {\n var $47 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($48) {\n return $47(handler(Halogen_Query_Input.Action.create($48)));\n };\n })();\n var rendering = renderSpec.render(function ($49) {\n return handleAff(handler($49));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $50 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($51) {\n return handleAff($50(Data_List.reverse($51)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $24 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($24) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(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 cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n 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 return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $52 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($53) {\n return Effect_Aff.launchAff_($52($53));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $54 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($55) {\n return $54((function (v1) {\n return v1.rendering;\n })($55));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (fresh) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var listeners = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)(rootHandler(listeners))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n subscribe: subscribe(fresh)(listeners),\n dispose: dispose(disposed)(lchs)(dsx)(listeners)\n });\n })(dsx)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\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 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_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 () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\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);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\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 Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $56 = v === v1;\n if ($56) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (k, ix, v1) {\n var res = build(v1.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\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, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\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_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_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 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_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 Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\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 npn = 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 })(npn)();\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 = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\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 renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\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)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, 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 dispose: 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 (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\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 Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\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_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\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_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\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 viewRendered;\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\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 viewRendered;\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\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","hr","heading","blockquote","list","html","def","nptable","noop","table","lheading","_paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","paragraph","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","lastToken","trimRight","codeBlockStyle","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","escape","toLowerCase","href","title","Error","charCodeAt","inline","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","lastParenIndex","findClosingBracket","linkLen","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","checkSanitizeDeprecation","warn","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","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","nodejsBaseUrl","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","arrayApply","fs","xs","k","result","f","$PS","semigroupoidFn","compose","g","x","dict","Control_Semigroupoid","categoryFn","Semigroupoid0","identity","a","v","y","arrayMap","arr","unit","$foreign","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","fa","Control_Category","Data_Functor","Apply","Functor0","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","v1","constructor","arrayBind","Bind","bind","bindArray","bindFlipped","dictBind","flip","discardUnit","discard","m","refEq","r1","r2","eqBooleanImpl","eqIntImpl","eqCharImpl","eqStringImpl","eqArrayImpl","ys","Eq","eq","eqUnit","eqString","eqInt","eqChar","eqBoolean","dictEq","Control_Applicative","Control_Bind","Data_Eq","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","applicativeMaybe","Applicative","dictPartial","Data_Maybe","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","boolConj","b1","b2","boolDisj","boolNot","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","dictHeytingAlgebra","concatString","s1","s2","concatArray","Semigroup","append","semigroupString","semigroupArray","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$96","$97","$98","newtypeMediaType","Data_MediaType","Data_Newtype","Accept","ContentType","RequestHeader","value1","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","LT","GT","EQ","eqOrdering","Data_Ordering","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","dictOrd","Data_Ord","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$197","applySecond","$198","foldableMaybe","z","foldableArray","foldMapDefaultR","sep","alaF","monoidDisj","p","maximumBy","cmp","minimumBy","Data_Bifunctor","Data_Foldable","Left","Right","functorEither","foldableEither","either","hush","bifunctorEither","Bifunctor","applyEither","bindEither","applicativeEither","Data_Either","throwError","Monad0","MonadThrow0","catchError","dictMonadError","Bind1","$17","Applicative0","$18","dictMonad","f$prime","a$prime","mb","when","unless","Control_Monad","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","Monad","applicativeExceptT","bindExceptT","applyExceptT","$90","$91","ap","$92","$93","MonadThrow","$102","$103","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","monadIdentity","$0","Control_Monad_Except_Trans","Data_Identity","runExcept","$1","runExceptT","$2","$3","fromObject","id","stringify","JSON","_caseJson","isNull","isBool","isNum","isStr","isArr","isObj","_copyST","r","empty","runST","_fmapObject","m0","_mapWithKey","_foldM","mz","_lookup","no","yes","toArrayWithKey","cons","snoc","l1","sortImpl","sort","drop","unsafeIndexImpl","Tuple","functorTuple","dictOrd1","eqTuple","dictEq1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","unfoldable1Array","unfoldr1","Data_Unfoldable1","unfoldableArray","Unfoldable10","unfoldr","Data_Boolean","Data_Unfoldable","singleton","concatMap","dictUnfoldable","unsafeIndex","otherwise","$94","$95","comp","Foldable0","foldMapWithIndex","foldlWithIndex","foldrWithIndex","runFn4","fn","d","mapWithIndex","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","Traversable","Foldable1","sequence","traverse","traversableArray","sequenceDefault","dictTraversable","FoldableWithIndex1","FunctorWithIndex0","Traversable2","traverseWithIndex","poke","Data_Array","Data_FoldableWithIndex","Data_Function_Uncurried","Data_FunctorWithIndex","Data_Traversable","Data_TraversableWithIndex","Foreign_Object_ST","values","thawST","lookup","insert","mutate","s","functorObject","functorWithIndexObject","FunctorWithIndex","fold","applyFlipped","foldableObject","foldableWithIndexObject","FoldableWithIndex","uncurry","traversableWithIndexObject","TraversableWithIndex","traversableObject","ms","$43","$44","$36","toUnfoldable","$37","$38","Foreign_Object","toJsonType","jsonEmptyObject","toObject","_jsonParser","fail","succ","replaceAll","s3","toLower","joinWith","encdecURI","encdec","_encodeURIComponent","encodeURIComponent","$19","$20","Data_String_Common","Global","$21","showIntImpl","showNumberImpl","isNaN","Show","show","showNumber","showInt","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","showMethod","print","alt","Alt0","Control_Alt","Control_Plus","Nil","Cons","functorList","chunkedRevMap","$copy_chunksAcc","$copy_v","$tco_var_chunksAcc","$tco_result","$tco_done","$tco_loop","chunksAcc","$copy_v1","$copy_acc","$tco_var_v1","unrolledMap","foldableList","$202","$203","$copy_b","$tco_var_b","rev","$204","$205","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","NonEmpty","dictPlus","$168","Data_List_Types","Data_NonEmpty","$169","NonEmptyList","nullable","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","sequential","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","generalBracket","acquire","_makeFiber","_sequential","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","liftA1","semigroupEffect","dictSemigroup","lift2","new","read","ref","state","write","Effect","s$prime","modify","Effect_Ref","Loop","Done","MonadRec","tailRecM","monadRecEffect","fromDone","parallel","Applicative1","Control_Parallel_Class","dictParallel","parTraverse_","MonadEffect","liftEffect","monadEffectEffect","unsafePerformEffect","unsafePartial","crashWith","Partial","unsafeCoerce","$45","$53","$54","Control_Monad_Rec_Class","Control_Parallel","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","launchAff_","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","effectCanceler","$46","Canceler","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","parallelAff","Parallel","applicativeParAff","$55","semigroupCanceler","parSequence_","monadRecAff","res","monoidCanceler","$49","$50","runAff","fin","bracket","Effect_Aff","$4","$5","k2","$6","$7","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","fromNumberImpl","just","nothing","toNumber","fromNumber","$107","Control_Monad_Except","Data_Int","Data_List_NonEmpty","ForeignError","TypeMismatch","monadThrowExceptT","$108","unsafeReadTagged","readBoolean","readNumber","readString","$109","$110","mapExcept","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Data_Argonaut_Core","Data_Argonaut_Parser","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","RequestContentError","ResponseBodyError","XHRError","defaultRequest","responseFormat","req","parseJSON","fromResponse","composeKleisliFlipped","$48","$47","jsonParser","addHeader","mh","hs","any","mapFlipped","fromEffectFnAff","h","reqContent","toMediaType","toResponseType","note","extractContent","eqStatusCode","$56","DecodeJson","decodeJson","decodeJsonNumber","caseJsonNumber","decodeJsonInt","decodeJObject","$57","dictDecodeJson","$83","lmap","$84","$85","moment","_app","app","_mmoment8601","ISO_8601","fromNow","_closeWindow","close","_setFocus","elemId","document","getElementById","focus","win","SProxy","reflectSymbol","unsafeStringify","unsafeDecodeURIComponent","unsafeGet","label","rec","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","RLProxy","Global_Unsafe","Record","Record_Builder","Type_Data_RowList","WriteForeignFields","writeImplFields","WriteForeign","writeImpl","writeForeignString","writeForeignInt","writeForeignForeign","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$87","$88","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","Simple_JSON","TagCloudModeTop","TagCloudModeLowerBound","TagCloudModeRelated","TagCloudModeNone","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","tagcloudmode_wfI","note_wfI","eqTagCloudModeF","eqArray","bookmark_wfI","writeForeignNullable","tagCloudMode","fromMaybe","mode","expanded","readInt","intercalate","setHref","location","search","reload","Affjax","Affjax_StatusCode","Data_Argonaut_Decode_Class","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","eres","decodeForeignObject","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","dictMonadState","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","viewOn","view","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","coyoneda","fi","Coyoneda","functorCoyoneda","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","v3","v4","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","$tco_var_v","tree","up","$copy_ctx","$copy_v2","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","OrdBox","eqOrdBox","ordOrdBox","Data_Map_Internal","Halogen_Data_OrdBox","sym","ordTuple","mkOrdBox","$tco_var_acc","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","$120","$121","freeApply","$122","$123","$124","dictMonadRec","runExpF","concatF","toView","$136","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","Lift","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$139","liftF","monadEffectHalogenM","dictMonadEffect","$144","$145","functorHalogenM","bindHalogenM","applicativeHalogenM","o","dictMonadAff","$146","$147","Initialize","Finalize","Receive","Action","Query","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","voidLeft","unCoyoneda","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Step","unStep","mkStep","extract","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forEachE","forInE","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","as","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttribute","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","eventListener","event","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","props","applyProp","events","patchProp","ps2","onThis","onThese","v11","elVal","$63","diffProp","onThat","nextState","renderProp","ps1","ps1$prime","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$58","graft","bifunctorGraft","$60","$61","runGraft","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","renderOnOff","isPropInt","isPropInputType","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","$30","$31","children","dictIsProp","$33","$34","$35","$32","element","form","span","tbody_","tbody","td","td_","tr_","tr","div","div_","button","br_","es","unsafeReadPropImpl","readProp","RefUpdate","_currentTarget","currentTarget","preventDefault","$8","Foreign_Index","Halogen_HTML_Core","Halogen_Query_Input","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onClick","click","onSubmit","addForeignPropHandler","prop","reader","composeKleisli","onChecked","change","onValueChange","$11","mel","required","rows","id_","$$for","disabled","class_","autofocus","autocomplete","$22","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","topInt","bottomInt","topChar","bottomChar","Bounded","Ord0","bottom","boundedInt","boundedChar","toCharCode","toEnum$prime","Data_Bounded","fromEnum","charToEnum","enumChar","pred","fromEnum$prime","defaultSucc","boundedEnumChar","Bounded0","Enum1","cardinality","toEnum","dictBoundedEnum","low","high","intDegree","min","abs","intDiv","intMod","yy","intSub","intAdd","intMul","semiringInt","add","mul","one","zero","Data_Semiring","ringInt","Semiring0","sub","Data_Ring","commutativeRingInt","Ring0","Data_CommutativeRing","euclideanRingInt","CommutativeRing0","degree","mod","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","$26","toEnumWithDefaults","take","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","fromNullableStr","_loc","loc","_parseQueryString","srh","decode","srh$prime","qs","mapMaybe","kv","find","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_Component","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BLookupTitle","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","loading","b$prime","toTextarea","mmoment","mmoment8601","time","$67","display_exists","guard","ifElseH","$68","whenH","textarea","description","tags","toread","modify_","$41","$42","lookupTitle","mtitle","selected","archiveUrl","destroy","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","_read","toNode","toElement","Web_HTML_HTMLElement","getHTMLElementRef","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","for_","monoidEffect","$10","$14","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","spin","outputQuery","widget","componentSlot","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","_bm","tagid","star","shtime","linkToFilterTag","userR","$73","dat","isowner","$74","slot","absurd","whenA","toggleStar","raise","markRead","whenM","setFocus","$59","$64","$65","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","shared","Etext","EisMarkdown","Eshared","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","edit_note","_edit_note","mkState","note$prime","isMarkdown","updated","destroyNote","editNote","res$prime","noteR","$$Math","TInitialize","TExpanded","TChangeMode","m$prime","rescale","fetchTagCloud","mode$prime","getTagCloud","tagCloudModeFromF","tagcloud","$23","$24","toArray","$40","opacity","$39","fontsize","toSizedTag","sortBy","comparing","modetop","isExpanded","modelb5","modelb20","modelb2","modelb10","modelb1","minimum","maximum","setExpanded","updateTagCloudMode","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","lift","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","fuseWithL","dictFunctor2","zap","gs","fuseWith","functorAwait","rmap","bifunctorEmit","functorEmit","runFreeT","$176","$177","$178","recv","me","monadRecFreeT","monadTransFreeT","liftFreeT","monadForkAff","Functor1","fork","suspend","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","ps","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","put","$12","$13","throwException","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","selfRef","childrenIn","childrenOut","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","ds","refs","lifecycleHandlers","unChildQueryBox","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Query_EventSource","Unsafe_Reference","queueOrRun","au","handleLifecycle","initializers","finalizers","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","sid","subs","member","finalizer","consumer","act","eqMaybe","evalF","runProcess","pullFrom","producer","$86","cqb","dsx","retractFreeAp","hoistFreeAp","ForkId","doneRef","unlessM","forkMap","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","renderSpec","subscribe","inputVar","listenerId","connect","runComponent","lchs$prime","$$var","initDriverState","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","isDuplicate","renderStateX","shouldProcessHandlers","childHandler","foreachSlot","childDS","renderStateX_","ds$prime","$51","mmore","evalDriver","disposed","dispose","subsRef","$52","query","_querySelector","selector","node","querySelector","toParentNode","toDocument","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","haltWidget","halt","patchWidget","vdom","haltText","parent","patchText","haltKeyed","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","attrs2","children2","patchKeyed","ix$prime","spec","buildText","buildElem","name1","as1","ch1","child","buildAttributes","buildKeyed","buildWidget","w","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","renderThunk","buildVDom","getEffProp","_parentNode","_nextSibling","node1","node2","appendChild","nextSibling","$15","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","npn","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","rsx","patch","step$prime","buildProp","mkSpec","machine","nextSib","machine$prime","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Component_TagCloud","Halogen_Aff_Util","Halogen_VDom_Driver","viewRendered","selectElement","main","logout","renderElSelector","bmarks","blist","tagcloudcomponent","tagCloudModeToF","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.js","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: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\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)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\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', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\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 nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\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 heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\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 this.rules = block.gfm;\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 var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\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 (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: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : 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 (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].charAt(0) === '=' ? 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)\\]\\(\\s*(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\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\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\\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: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/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 var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\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(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : 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 this.token = this.tokens.pop();\n return this.token;\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 var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(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 return this.renderer.listitem(body, task, checked);\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\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\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 checkSanitizeDeprecation(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 checkSanitizeDeprecation(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 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.13.6\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\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, xhr) {\n if (xhr.nodejsBaseUrl === null) {\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 } else {\n return url || \"/\";\n }\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, xhr);\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 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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\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[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\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[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \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 var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\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 \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\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 mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\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[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\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 unless = 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 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\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[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\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[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs === ys) return true;\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return new Eq($foreign.eqArrayImpl(eq(dictEq)));\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\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 Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\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 69, column 30): \" + [ 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 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\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[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\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[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\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 exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\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 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 73, column 1 - line 73, 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[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \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[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \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 var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\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 52, column 19): \" + [ 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 string = new $$String(Control_Category.identity(Control_Category.categoryFn));\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[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\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 lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\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[\"lmap\"] = lmap;\n exports[\"rmap\"] = rmap;\n})(PS);\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 \"use strict\";\n\n var 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 exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var Data_Eq = $PS[\"Data.Eq\"]; \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 var eqOrdering = new Data_Eq.Eq(function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n });\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\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 }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\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_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\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_Unit = $PS[\"Data.Unit\"]; \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 () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\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 foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $116 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($116) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 389, column 3 - line 389, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $120 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($120) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 402, column 3 - line 402, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\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 135, column 27): \" + [ 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 135, column 27): \" + [ 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 135, column 27): \" + [ 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[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\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 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 note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\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 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ 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 Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\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 hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\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 48, column 36): \" + [ 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 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindEither = new Control_Bind.Bind(function () {\n return applyEither;\n }, either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }));\n var applicativeEither = new Control_Applicative.Applicative(function () {\n return applyEither;\n }, Right.create);\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 () {\n var $17 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($18) {\n return $17(Data_Either.Left.create($18));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\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_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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 () {\n var $90 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($91) {\n return $90(Data_Either.Left.create($91));\n };\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 () {\n var $92 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($93) {\n return ExceptT($92(Data_Either.Right.create($93)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $102 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($103) {\n return ExceptT($102(Data_Either.Left.create($103)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\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_Newtype = $PS[\"Data.Newtype\"]; \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[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n var mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n };\n exports[\"runExcept\"] = runExcept;\n exports[\"mapExcept\"] = mapExcept;\n})(PS);\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 Object.prototype.toString.call(a) === \"[object Array]\";\n }\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\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\n exports.toArrayWithKey = toArrayWithKey;\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.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortImpl = function (f) {\n return function (l) {\n return l.slice().sort(function (x, y) {\n return f(x)(y);\n });\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \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 uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\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 var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \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[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 143, column 3 - line 145, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n }; \n var sortBy = function (comp) {\n return function (xs) {\n var comp$prime = function (x) {\n return function (y) {\n var v = comp(x)(y);\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 702, column 15 - line 705, column 13): \" + [ v.constructor.name ]);\n };\n };\n return $foreign.sortImpl(comp$prime)(xs);\n };\n };\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 () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"singleton\"] = singleton;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FoldableWithIndex\"] = $PS[\"Data.FoldableWithIndex\"] || {};\n var exports = $PS[\"Data.FoldableWithIndex\"];\n var FoldableWithIndex = function (Foldable0, foldMapWithIndex, foldlWithIndex, foldrWithIndex) {\n this.Foldable0 = Foldable0;\n this.foldMapWithIndex = foldMapWithIndex;\n this.foldlWithIndex = foldlWithIndex;\n this.foldrWithIndex = foldrWithIndex;\n };\n exports[\"FoldableWithIndex\"] = FoldableWithIndex;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FunctorWithIndex\"] = $PS[\"Data.FunctorWithIndex\"] || {};\n var exports = $PS[\"Data.FunctorWithIndex\"]; \n var FunctorWithIndex = function (Functor0, mapWithIndex) {\n this.Functor0 = Functor0;\n this.mapWithIndex = mapWithIndex;\n };\n exports[\"FunctorWithIndex\"] = FunctorWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"Traversable\"] = Traversable;\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"]; \n var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) {\n this.FoldableWithIndex1 = FoldableWithIndex1;\n this.FunctorWithIndex0 = FunctorWithIndex0;\n this.Traversable2 = Traversable2;\n this.traverseWithIndex = traverseWithIndex;\n };\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"TraversableWithIndex\"] = TraversableWithIndex;\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\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_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = new Data_Functor.Functor(function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n });\n var functorWithIndexObject = new Data_FunctorWithIndex.FunctorWithIndex(function () {\n return functorObject;\n }, mapWithKey);\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }, function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n });\n var foldableWithIndexObject = new Data_FoldableWithIndex.FoldableWithIndex(function () {\n return foldableObject;\n }, function (dictMonoid) {\n return foldMap(dictMonoid);\n }, function (f) {\n return fold(Data_Function.flip(f));\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n });\n var traversableWithIndexObject = new Data_TraversableWithIndex.TraversableWithIndex(function () {\n return foldableWithIndexObject;\n }, function () {\n return functorWithIndexObject;\n }, function () {\n return traversableObject;\n }, function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n });\n var traversableObject = new Data_Traversable.Traversable(function () {\n return foldableObject;\n }, function () {\n return functorObject;\n }, function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n }, function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n });\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \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);\n(function(exports) {\n \"use strict\";\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.toLower = function (s) {\n return s.toLowerCase();\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \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[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\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[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n };\n var showNumber = new Show($foreign.showNumberImpl);\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 exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \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 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \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 listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\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 109, column 12 - line 111, 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 var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\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 155, column 1 - line 157, column 48): \" + [ 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[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \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);\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 if (count === 0) {\n return cb();\n }\n\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 try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\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 unmasked 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 && bracketCount === 0) {\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 unmasked 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 && bracketCount === 0 || 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 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, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\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 bracketCount++;\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.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\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.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})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\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 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 var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \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[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \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 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\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[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\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()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\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_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 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_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\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 54): \" + [ 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 397, column 54): \" + [ 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 fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var launchAff_ = (function () {\n var $43 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($44) {\n return $43(launchAff($44));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\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 $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return Canceler(Data_Function[\"const\"]($45($46)));\n };\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 () {\n var $49 = Effect_Class.liftEffect(monadEffectAff);\n return function ($50) {\n return $49(k($50));\n };\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 () {\n var $53 = Control_Parallel_Class.parallel(parallelAff);\n var $54 = Control_Applicative.pure(applicativeAff);\n return function ($55) {\n return $53($54($55));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\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 (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\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);\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.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\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 Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\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 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 () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\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 readNumber = unsafeReadTagged(\"Number\");\n var readInt = function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $109 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($110) {\n return $109(Data_Int.fromNumber($110));\n };\n })();\n return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function[\"const\"](error))(fromNumber))(readNumber(value));\n };\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[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\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 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 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_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_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\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 Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var XHRError = (function () {\n function XHRError(value0) {\n this.value0 = value0;\n };\n XHRError.create = function (value0) {\n return new XHRError(value0);\n };\n return XHRError;\n })();\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 ($47) {\n return Foreign.fail(Foreign.ForeignError.create($47));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (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 ($48) {\n return req.responseFormat.value0(parseJSON($48));\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 237, column 18 - line 243, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 203, column 20 - line 218, column 69): \" + [ 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 ajaxRequest = function (v) {\n return {\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: v,\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 };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 184, column 9 - line 186, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left(new XHRError(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 182, column 86 - line 188, column 28): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 173, column 7 - line 177, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 169, column 3 - line 177, column 48): \" + [ req.content.constructor.name ]);\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var eqStatusCode = new Data_Eq.Eq(function (x) {\n return function (y) {\n return x === y;\n };\n });\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var DecodeJson = function (decodeJson) {\n this.decodeJson = decodeJson;\n }; \n var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.caseJsonNumber(new Data_Either.Left(\"Value is not a Number\"))(Data_Either.Right.create)); \n var decodeJson = function (dict) {\n return dict.decodeJson;\n }; \n var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an integer\"))(Data_Either.Right.create);\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeJson(decodeJsonNumber)));\n var decodeJObject = (function () {\n var $56 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an Object\"))(Data_Either.Right.create);\n return function ($57) {\n return $56(Data_Argonaut_Core.toObject($57));\n };\n })();\n var decodeForeignObject = function (dictDecodeJson) {\n return new DecodeJson((function () {\n var $83 = Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) {\n return \"Couldn't decode ForeignObject: \" + v;\n });\n var $84 = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject);\n return function ($85) {\n return $83($84($85));\n };\n })());\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\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\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Effect = $PS[\"Effect\"]; \n var RawHTML = function (x) {\n return x;\n };\n var setFocus = function (s) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_setFocus\"](s));\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 exports[\"setFocus\"] = setFocus;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $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);\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})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\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 var $87 = writeImpl(dictWriteForeign);\n return function ($88) {\n return Global_Unsafe.unsafeStringify($87($88));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $91 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($92) {\n return $91(Data_Nullable.toMaybe($92));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));\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)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\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_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\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 tagcloudmode_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"expanded\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"mode\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"value\";\n }))(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_Array.singleton(s));\n })(Foreign.readString(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 91, column 1 - line 91, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 107, column 1 - line 107, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\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 \"shared\";\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 \"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 isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 101, column 1 - line 101, column 39): \" + [ v.constructor.name ]);\n };\n var eqTagCloudModeF = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n });\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[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n exports[\"tagcloudmode_wfI\"] = tagcloudmode_wfI;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\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 Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\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_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 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 29, column 1 - line 31, column 25): \" + [ 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 () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\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[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\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 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n \n // | This module defines the `MonadState` type class and its instances.\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n\n // | The `MonadState s` type class represents those monads which support a single piece of mutable\n // | state of type `s`.\n // |\n // | - `state f` updates the state using the function `f`.\n // |\n // | An implementation is provided for `StateT`, and for other monad transformers\n // | defined in this library.\n // |\n // | Laws:\n // |\n // | - `do { get ; get } = get`\n // | - `do { put x ; put y } = put y`\n // | - `do { put x ; get } = put x $> x`\n // | - `do { s <- get ; put s } = pure unit`\n // |\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\n // | Modify the state by applying a function to the current state. The returned\n // | value is the new state value.\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\n // | Get a value which depends on the current state.\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\n // | Get the current state.\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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 first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\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 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[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \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[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\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 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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \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[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\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 var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\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_Tuple = $PS[\"Data.Tuple\"]; \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 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 99, column 110): \" + [ 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[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \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 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[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\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 exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\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_Tuple = $PS[\"Data.Tuple\"]; \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[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\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_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\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 227, column 7 - line 231, 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 225, column 3 - line 233, 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 () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\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 ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\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 ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, 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[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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 SubscriptionId = function (x) {\n return x;\n };\n var ForkId = 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 Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\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 ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\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 HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\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 = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\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 Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\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_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\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 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\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 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\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.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\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[\"forEachE\"] = $foreign.forEachE;\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\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 169, column 5 - line 179, 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 haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $54 = v11.value2 === v2.value2;\n if ($54) {\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 $63 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($63) {\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 ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, 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 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\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 ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\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(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\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 86, column 7 - line 86, 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[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\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 widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\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 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\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(ns, name, props, children);\n };\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[\"widget\"] = widget;\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[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\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[\"a\"] = a;\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[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\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 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_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\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[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\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[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \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[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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 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 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[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\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 semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \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 exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\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 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 () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\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[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\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_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\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 whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $43 = Data_Maybe.fromMaybe(\"\");\n return function ($44) {\n return $43(Data_Nullable.toMaybe($44));\n };\n })();\n var class_ = function ($45) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($45));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $46 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($47) {\n return Global_Unsafe.unsafeDecodeURIComponent($46($47));\n };\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 $42 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($42) {\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 ($50) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($50));\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 loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\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_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_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 Util = $PS[\"Util\"]; \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) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\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 ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 handleAction = 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 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\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 (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\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 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_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_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\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_Component = $PS[\"Halogen.Component\"];\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 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) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\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 loading: v.loading\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 loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ 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_([ Util.whenH(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.isPropInputType)(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([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), 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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\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 $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.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 (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\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 (bid) {\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(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return 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 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\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 (edit_bm) {\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(edit_bm))))(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))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // 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 \"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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\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_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\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 Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\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 SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\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 handleAction = 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 (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\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 $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\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 = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\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_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\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_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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_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 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 BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\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 loading: v.loading\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 loading: v.loading\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 loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = 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 (bm) {\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(bm.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 (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: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(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: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\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 (bm) {\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(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\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 (bm) {\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(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(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: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\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 (bm) {\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))(bm))(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 Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return 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 234, column 17 - line 240, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\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 $59 = {};\n for (var $60 in v1) {\n if ({}.hasOwnProperty.call(v1, $60)) {\n $59[$60] = v1[$60];\n };\n };\n $59.loading = true;\n return $59;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.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 (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $64 = {};\n for (var $65 in v1) {\n if ({}.hasOwnProperty.call(v1, $65)) {\n $64[$65] = v1[$65];\n };\n };\n $64.loading = false;\n return $64;\n });\n });\n });\n });\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 (edit_bm) {\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(edit_bm))))(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))(edit_bm))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return 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(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shtime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\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 ($73) {\n return Data_Maybe.Just.create(BEditField.create(f($73)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($74) {\n return Data_Maybe.Just.create(BEditSubmit.create($74));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), 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.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ 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 $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\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 $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\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\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return 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));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return 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(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\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\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\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_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\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_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\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_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 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 (note) {\n return Globals.mmoment8601(note.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 handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\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 (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\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 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_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\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_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\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_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 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 Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\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 _markdown = Data_Symbol.SProxy.value;\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 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 handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return 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 shared: v1.shared,\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 shared: v1.shared,\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 shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\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: v1.isMarkdown,\n shared: 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 177, column 19 - line 181, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\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 (note) {\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(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\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 (note) {\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))(note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\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 (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\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))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): \" + [ v.constructor.name ]);\n };\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 = function (v1) {\n return 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\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\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()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(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_Elements.span([ 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_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\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 DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\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_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\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 $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $21 = m - n < 1.0e-2;\n if ($21) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $23 = {};\n for (var $24 in s) {\n if ({}.hasOwnProperty.call(s, $24)) {\n $23[$24] = s[$24];\n };\n };\n $23.mode = mode$prime;\n $23.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $23;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = Model.setExpanded(s.mode)(v.value0);\n return $27;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $31 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($31) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 142, column 3 - line 142, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var toSizedTag = function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($39) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($39));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity))))) ])([ Halogen_HTML_Core.text(k) ]);\n };\n };\n };\n };\n var toArray = function (n) {\n return function (m) {\n var $40 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(n)(m)));\n var $41 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($44) {\n return Data_String_Common.toLower(Data_Tuple.fst($44));\n }));\n var $42 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($43) {\n return $40($41($42($43)));\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modetop));\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb1));\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb2));\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb5));\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb10));\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $35 = Model.isExpanded(v.mode);\n if ($35) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ]), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n return toArray(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \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 62, column 47): \" + [ 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[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\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_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\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_Unit = $PS[\"Data.Unit\"]; \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 () {\n var $123 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($124) {\n return $123(v1.value1($124));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, 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 54, column 20 - line 56, 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 52, column 5 - line 57, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, 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 141, column 3 - line 141, 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 82, column 15 - line 84, 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[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\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_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_Class = $PS[\"Control.Parallel.Class\"];\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_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 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 () {\n var $176 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $177 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($178) {\n return $176($177($178));\n };\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 (l) {\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 (r) {\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 (v1) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(l)(r)));\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 (next) {\n if (next instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(next.value0));\n };\n if (next 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 (v1) {\n return go(t);\n });\n })(next.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ next.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 (e) {\n if (e instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(e.value0))(Data_Maybe.Nothing.value);\n };\n if (e instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(e.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ e.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[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\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 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 fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \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[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(c);\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 c = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n }; \n var kill = function (error) {\n var $11 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $12 = Effect_AVar.kill(error);\n return function ($13) {\n return $11($12($13));\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);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\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 Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\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 = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\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 = $PS[\"Control.Monad\"];\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 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_Types = $PS[\"Data.List.Types\"];\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_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 Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (subs) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\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 au;\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(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\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 (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\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))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return 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 return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.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: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n var v2 = v1.value0(sid);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v2)(function (v4) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions)))(function (subs) {\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[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(sid)))(v3.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(Halogen_Query_EventSource.finalize(v4.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (act) {\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(v3.subscriptions))))(function (subs) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(new Data_Maybe.Just(true)))(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)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(act)))))(function () {\n return consumer;\n }));\n });\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(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(done)))(v3.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v4.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 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 () {\n var $85 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $86 = evalM(render)(ref);\n return function ($87) {\n return $85($86($87));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\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_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\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_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\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_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_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \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 handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $30 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $32 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($33) {\n return $32(Halogen_Query_EventSource.finalize($33));\n };\n })());\n return function ($31) {\n return handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $34 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($35) {\n return handleAff($34($35));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\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 (inputVar) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var listenerId = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v) {\n return v + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(listenerId)(inputVar))(ref)();\n return listenerId;\n }))(function (listenerId) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(inputVar))));\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)(listenerId))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(inputVar);\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 (listeners) {\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))(listeners));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\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)(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 Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $36 = render(lchs);\n return function ($37) {\n return $36((function (v) {\n return v.selfRef;\n })($37));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $38 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($39) {\n return $38(slot.output($39));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)((function () {\n var $40 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($41) {\n return $40(slot.output($41));\n };\n })())(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($42) {\n return Data_Maybe.isJust(slot.get($42));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): \" + [ v.constructor.name ]);\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 shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $44 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $45 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($46) {\n return $43($44($45($46)));\n };\n })();\n var childHandler = (function () {\n var $47 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($48) {\n return $47(handler(Halogen_Query_Input.Action.create($48)));\n };\n })();\n var rendering = renderSpec.render(function ($49) {\n return handleAff(handler($49));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $50 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($51) {\n return handleAff($50(Data_List.reverse($51)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $24 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($24) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(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 cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n 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 return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $52 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($53) {\n return Effect_Aff.launchAff_($52($53));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $54 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($55) {\n return $54((function (v1) {\n return v1.rendering;\n })($55));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (fresh) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var listeners = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)(rootHandler(listeners))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n subscribe: subscribe(fresh)(listeners),\n dispose: dispose(disposed)(lchs)(dsx)(listeners)\n });\n })(dsx)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\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 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_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 () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\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);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\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 Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $56 = v === v1;\n if ($56) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (k, ix, v1) {\n var res = build(v1.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\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, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\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($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\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);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\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_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_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 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_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 Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\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 npn = 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 })(npn)();\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 = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\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 renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\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)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, 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 dispose: 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 (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\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 Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\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_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\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_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\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 viewRendered;\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\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 viewRendered;\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\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 Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.js.map.gz b/static/js/app.min.js.map.gz index 0dc5d1c74772d4edf3df5a3fcad583dd91c4f08e..c5a7955f0ad60c879860efb1ae1826acf39ff13b 100644 GIT binary patch delta 238586 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%0AkVS^G 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≷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 mxkW<}{_%w&{UQB^; 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
    Lq`x>%m#VvOeWsJ7d6-V>zF9 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

    8}H-Iq`MxLE0jAAf_RR9V{@O= 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 R=TAQV^*>GR&gYO269Bz0@e%+4