From 3aa59305a55bbc83d6f83114b6cc740c68359a18 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Sat, 8 Feb 2020 16:29:04 -0600 Subject: [PATCH] localize dates on bookmark timestamps --- purs/src/Component/BMark.purs | 13 +++++---- purs/src/Globals.js | 13 ++++----- purs/src/Globals.purs | 51 +++++++++++++++------------------- purs/src/Util.purs | 3 ++ static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 76731 -> 76874 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 250507 -> 250719 bytes 8 files changed, 41 insertions(+), 43 deletions(-) diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index e81fc7a..3f316d1 100644 --- a/purs/src/Component/BMark.purs +++ b/purs/src/Component/BMark.purs @@ -13,7 +13,7 @@ import Data.String (null, split, take) as S import Data.String.Pattern (Pattern(..)) import Data.Symbol (SProxy(..)) import Effect.Aff (Aff) -import Globals (app', setFocus) +import Globals (app', setFocus, toLocaleDateString) import Halogen as H import Halogen.HTML (HTML, a, br_, button, div, div_, form, input, label, span, text, textarea) import Halogen.HTML as HH @@ -125,8 +125,8 @@ bmark b' = [ text tag ]) (S.split (Pattern " ") bm.tags) - , a [ class_ "link f7 dib gray w4", href (linkToFilterSingle bm.slug) ] - [ text shtime ] + , a [ class_ "link f7 dib gray w4", href (linkToFilterSingle bm.slug), title shdatetime ] + [ text shdate ] -- links , whenH app.dat.isowner $ \_ -> @@ -193,7 +193,8 @@ bmark b' = editField f = Just <<< BEditField <<< f linkToFilterSingle slug = fromNullableStr app.userR <> "/b:" <> slug linkToFilterTag tag = fromNullableStr app.userR <> "/t:" <> tag - shtime = S.take 16 bm.time `append` "Z" + shdate = toLocaleDateString bm.time + shdatetime = S.take 16 bm.time `append` "Z" tagid bm = show bm.bid <> "_tags" @@ -227,7 +228,9 @@ bmark b' = bm <- use _bm _edit_bm .= bm _edit .= e - H.liftEffect $ whenM (pure e) (setFocus (tagid bm)) + H.liftEffect $ + when e + (setFocus (tagid bm)) -- | Update Form Field handleAction (BEditField f) = do diff --git a/purs/src/Globals.js b/purs/src/Globals.js index 839df90..bcb53a9 100644 --- a/purs/src/Globals.js +++ b/purs/src/Globals.js @@ -36,14 +36,6 @@ exports._createFormArray = function(formElement) { return Array.from(new FormData(formElement)); } -exports._getDataAttribute = function(name, el) { - return el.dataset[name]; -} - -exports._setDataAttribute = function(name, value, el) { - return el.dataset[name] = value; -} - exports._moment8601 = function(tuple, s) { var m = moment(s, moment.ISO_8601); var s1 = m.fromNow(); @@ -69,3 +61,8 @@ exports._closeWindow = function (window) { exports._setFocus = function(elemId) { document.getElementById(elemId).focus(); }; + + +exports._toLocaleDateString = function(dateString) { + return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) +} diff --git a/purs/src/Globals.purs b/purs/src/Globals.purs index 2aa5046..aded0bb 100644 --- a/purs/src/Globals.purs +++ b/purs/src/Globals.purs @@ -1,17 +1,17 @@ module Globals where -import Data.Function.Uncurried - import Data.Maybe (Maybe(..)) -import Data.Nullable (Nullable, toMaybe) +import Data.Newtype (class Newtype) +import Data.Nullable (Nullable) import Data.Tuple (Tuple(..)) import Effect (Effect) +import Data.Function.Uncurried +import Effect.Uncurried import Model (Bookmark) -import Prelude (Unit, pure, ($)) -import Web.DOM (Element, Node) +import Prelude +import Web.DOM (Node) import Web.HTML (HTMLElement, HTMLFormElement, Window) import Web.XHR.FormData (FormData) -import Data.Newtype (class Newtype) type App = { csrfHeaderName :: String @@ -36,30 +36,30 @@ foreign import _app :: Fn0 App app' :: Unit -> App app' _ = runFn0 _app -foreign import _closest :: forall a. Fn4 (a -> Maybe a) (Maybe a) String Node (Maybe Node) +foreign import _closest :: forall a. EffectFn4 (a -> Maybe a) (Maybe a) String Node (Maybe Node) closest :: String -> Node -> Effect (Maybe Node) -closest selector node = pure $ runFn4 _closest Just Nothing selector node +closest selector node = runEffectFn4 _closest Just Nothing selector node -foreign import _moment8601 :: Fn2 (String -> String -> Tuple String String) String (Tuple String String) +foreign import _moment8601 :: EffectFn2 (String -> String -> Tuple String String) String (Tuple String String) moment8601 :: String -> Effect (Tuple String String) -moment8601 s = pure $ runFn2 _moment8601 Tuple s +moment8601 s = runEffectFn2 _moment8601 Tuple s foreign import _mmoment8601 :: forall a. Fn4 (a -> Maybe a) (Maybe a) (String -> String -> Tuple String String) String (Maybe (Tuple String String)) mmoment8601 :: String -> Maybe (Tuple String String) mmoment8601 s = runFn4 _mmoment8601 Just Nothing Tuple s -foreign import _innerHtml :: Fn1 HTMLElement String +foreign import _innerHtml :: EffectFn1 HTMLElement String innerHtml :: HTMLElement -> Effect String -innerHtml n = pure $ runFn1 _innerHtml n +innerHtml n = runEffectFn1 _innerHtml n -foreign import _setInnerHtml :: Fn2 String HTMLElement HTMLElement +foreign import _setInnerHtml :: EffectFn2 String HTMLElement HTMLElement setInnerHtml :: String -> HTMLElement -> Effect HTMLElement -setInnerHtml c n = pure $ runFn2 _setInnerHtml c n +setInnerHtml c n = runEffectFn2 _setInnerHtml c n foreign import _createFormData :: Fn1 HTMLFormElement FormData @@ -77,26 +77,21 @@ foreign import _createFormArray :: Fn1 HTMLFormElement (Array (Array String)) createFormArray :: HTMLFormElement -> (Array (Array String)) createFormArray f = runFn1 _createFormArray f -foreign import _getDataAttribute :: Fn2 String Element (Nullable String) - -getDataAttribute :: String -> Element -> Effect (Maybe String) -getDataAttribute k n = pure $ toMaybe $ runFn2 _getDataAttribute k n - -foreign import _setDataAttribute :: Fn3 String String Element Unit - -setDataAttribute :: String -> String -> Element -> Effect Unit -setDataAttribute k v n = pure $ runFn3 _setDataAttribute k v n - -foreign import _closeWindow :: Fn1 Window Unit +foreign import _closeWindow :: EffectFn1 Window Unit closeWindow :: Window -> Effect Unit -closeWindow win = pure $ runFn1 _closeWindow win +closeWindow win = runEffectFn1 _closeWindow win newtype RawHTML = RawHTML String derive instance newtypeRawHTML :: Newtype RawHTML _ -foreign import _setFocus :: Fn1 String Unit +foreign import _setFocus :: EffectFn1 String Unit setFocus :: String -> Effect Unit -setFocus s = pure $ runFn1 _setFocus s +setFocus s = runEffectFn1 _setFocus s + +foreign import _toLocaleDateString :: Fn1 String String + +toLocaleDateString :: String -> String +toLocaleDateString s = runFn1 _toLocaleDateString s diff --git a/purs/src/Util.purs b/purs/src/Util.purs index c8afe0f..b4fdad0 100644 --- a/purs/src/Util.purs +++ b/purs/src/Util.purs @@ -143,3 +143,6 @@ maybeH m k = maybe (HH.text "") k m fromNullableStr :: Nullable String -> String fromNullableStr = fromMaybe "" <<< toMaybe + +monthNames :: Array String +monthNames = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"] diff --git a/static/js/app.min.js b/static/js/app.min.js index 33abd88..876b68a 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;a=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t0)&&(w=T,y=Q._3(j)));break;case m:B=new b(v,new b(h,y,E),B,L),w=T,y=L&&L!==O&&0===P?Q._1.killed(n.fromLeft(L))(Q._2):E?Q._1.failed(n.fromLeft(E))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),E=null,P++;break;case g:P++,B=new b(v,new b(h,y,E),B,L),w=T,y=Q._1;break;case h:P--,w=k,y=Q._1,E=Q._2}break;case x:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,D(W[V].handler(y)));return W=null,void(L&&E?setTimeout(function(){throw n.fromLeft(E)},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,E=null,J(++d));break;default:null===L&&(L=n.left(e)),0===P&&(w=k,y=null,E=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)}),E=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=E,t.drop=function(n){return function(e){return f.drop(f.length(E(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))}),E=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=E,t._curQuerystring=function(){var n=E();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.ifElseA=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"],E=n["Halogen.Query.HalogenM"],D=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([D.class_("settings-form")])([w.div([D.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),D.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(M.create))]),w.label([y.for("privateDefault"),D.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),D.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(E.bindHalogenM)(l.modifying(E.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(E.bindHalogenM)(i.use(E.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.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"],E=n["Data.Tuple"],D=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}(),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'"](D.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)(E.snd)(e))])([H.text(g.maybe(" ")(E.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)(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)(D.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 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(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"],E=n["Data.Show"],D=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"],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=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 E.show(E.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=D.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_(E.show(E.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(A.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 M.IsSymbol(function(){return"markdown"}))(b.ordUnit)(tn)(C.unit)(r.component)(n.bm.description)(F.absurd)]),R.div([P.class_("tags")])(P.whenA(!A.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)("."===D.take(1)(n))(" private")),U.href(t(n))])([L.text(n)])})(A.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,E=function(n){return p.mmoment8601(n.created)},D=p["app'"](v.unit),A=function(n){return y.fromNullableStr(D.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)(E(n))),w.href(A(n.slug))])([g.text(i.maybe(" ")(d.fst)(E(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"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Either"],d=n["Data.Foldable"],v=n["Data.Function"],p=n["Data.Functor"],m=n["Data.Lens.Getter"],g=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],w=n["Data.Lens.Setter"],b=n["Data.Maybe"],y=n["Data.Monoid"],E=n["Data.Ord"],D=n["Data.Profunctor.Strong"],A=n["Data.Show"],M=n["Data.String.Common"],C=n["Data.Symbol"],F=n["Data.Tuple"],T=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,L=n["Halogen.Component"],R=n["Halogen.HTML"],N=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],B=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],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(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,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(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return h.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)},en=C.SProxy.value,tn=function(n){return h.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)},rn=function(n){return h.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,h=function(n){return A.show(A.showInt)(n.id)+"_text"},un=I["app'"](T.unit);return L.mkComponent({initialState:v.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return U.p([W.class_("red")])([N.text("you killed this note")])})(v.const(W.ifElseH(n.edit)(function(e){return U.form([B.onSubmit(function(n){return b.Just.create(X.create(n))})])([U.p([W.class_("mt2 mb1")])([N.text("title:")]),U.input([P.type_(N.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),B.onValueChange(t(j.create)),P.autofocus(M.null(n.edit_note.title))]),U.br_,U.p([W.class_("mt2 mb1")])([N.text("description:")]),U.textarea([P.id_(h(n.edit_note)),W.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),B.onValueChange(t(Q.create))]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),B.onChecked(t(V.create))]),N.text(" "),U.label([P.for("edit_ismarkdown"),W.class_("mr2")])([N.text("use markdown?")]),U.br_]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),B.onChecked(t(z.create))]),N.text(" "),U.label([P.for("edit_shared"),W.class_("mr2")])([N.text("public?")]),U.br_]),U.input([P.type_(N.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),N.text(" "),U.input([P.type_(N.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),B.onClick(function(n){return new b.Just(new Y(!1))})])])})(function(t){return U.div([P.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([U.div([W.class_("display")])([U.div([W.class_("link f5 lh-title")])([N.text(M.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([W.class_("description mt1")])([R.slot()(new C.IsSymbol(function(){return"markdown"}))(E.ordUnit)(en)(T.unit)(r.component)(n.note.text)(H.absurd)]):U.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(d.foldMap(d.foldableArray)(y.monoidArray)(function(n){return[U.br_,N.text(n)]})(M.split("\n")(u))))),U.div([W.class_("link f7 dib gray w4")])([U.span([P.title(b.maybe(n.note.created)(F.snd)(e(n.note)))])([N.text(b.maybe(" ")(F.fst)(e(n.note)))]),N.text(" - "),U.span([W.class_("gray")])([N.text(n.note.shared?"public":"private")])])]),W.whenH(un.dat.isowner)(function(e){return U.div([W.class_("edit_links db mt3")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([N.text("edit  ")]),U.div([W.class_("delete_link di")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+y.guard(y.monoidString)(n.deleteAsk)(" dn"))])([N.text("delete")]),U.span([W.class_("confirm red"+y.guard(y.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!1))})])([N.text("cancel / ")]),U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(Z.value)}),W.class_("red")])([N.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(T.unit);if(n instanceof K)return w.modifying(O.monadStateHalogenM)(tn(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 Q)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 V)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 z)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 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return i.modify_(O.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 Z)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(p.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(O.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 Y)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(tn(D.strongFn))(e))(function(){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(rn(D.strongFn))(n.value0))(function(){return x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(h(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(tn(g.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){return d.for_(O.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(un.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(nn(D.strongFn))(n))(function(){return w.assign(O.monadStateHalogenM)(rn(D.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.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.Semigroup"],w=n["Data.Show"],b=n["Data.String.Common"],y=n["Data.Tuple"],E=n["Data.Unfoldable"],D=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],T=n["Halogen.HTML.Core"],H=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],x=n.Math,I=n.Model,L=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.tagcloudcomponent=function(n){var e,B=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}}}}}},P=function(n){return n instanceof I.TagCloudModeNone?r.pure(k.applicativeHalogenM)(D.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(I.tagCloudModeFromF(n))))(function(e){return o.modify_(k.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})})},O=C["app'"](D.unit),W=function(n){return L.fromNullableStr(O.userR)+(b.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=B(function(n){return x.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),s=B(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),d=_.attr("style")("font-size:"+w.show(w.showNumber)(s)+"%;opacity:"+w.show(w.showNumber)(o));return[H.a([_.href(W(r)),L.class_("link tag mr1"),d])([T.text(r)]),L.whenH(!c.null(n))(function(e){return l.notElem(l.foldableArray)(f.eqString)(i)(n)?H.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([T.text("⊕")]):H.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([T.text("⊖")])})]}}}}}(d.map(d.functorArray)(b.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return b.toLower(y.fst(n))})),o=M.toUnfoldable(E.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof I.TagCloudModeNone)return H.div([L.class_("tag_cloud")])([]);var e=new I.TagCloudModeTop(I.isExpanded(n.mode),200),t=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),5),r=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),20),u=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),2),a=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),10),o=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),1);return H.div([L.class_("tag_cloud mv3")])([H.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(I.isRelated(n.mode))(function(e){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text("Related Tags")])]})(function(c){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new p.Just(new U(e))})])([T.text("Top Tags")]),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new p.Just(new U(o))})])([T.text("all")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new p.Just(new U(u))})])([T.text("2")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new p.Just(new U(t))})])([T.text("5")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new p.Just(new U(a))})])([T.text("10")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new p.Just(new U(r))})])([T.text("20")])]}))([H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text(I.isExpanded(n.mode)?"hide":"show")])])),L.whenH(I.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 H.div([L.class_("tag_cloud_body")])(n.mode instanceof I.TagCloudModeNone?[]:n.mode instanceof I.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return P(n)});if(e instanceof N)return u.discard(u.discardUnit)(k.bindHalogenM)(o.modify_(k.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=I.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(I.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(I.eqTagCloudModeF)(t)(e.value0)?n(new N(!I.isExpanded(t))):P(I.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.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)}}),E=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(E)(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 D(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return E(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)}})}},E=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},D=function(n){return function(e){return new t.Applicative(function(){return E(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(D(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=D,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(D(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}(),E=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),D=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(E)),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 D(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"],E=n["Data.Maybe"],D=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 E.Nothing)return e;if(t instanceof E.Just)return F.liftEffect(C.monadEffectAff)(H.write(new E.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)(E.Just.create)(p.liftCoyoneda(t)),h.const(E.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(E.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(E.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(E.eqMaybe(m.eqBoolean))(w.map(E.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new E.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(E.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(E.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(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(D.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(D.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=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,E=n["Effect.Aff"],D=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=E.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_(E.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(E.bindAff)(D.empty)(function(u){return r.bind(E.bindAff)(A.liftEffect(E.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(E.monadAff)(v.map(E.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(E.monadErrorAff)(D.take(u))));return v.void(E.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(E.bindAff)(a.runProcess(E.monadRecAff)(a.connect(E.monadRecAff)(E.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return D.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)(E.bindAff)(f.parSequence_(E.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(E.bindAff)(u)(function(){return A.liftEffect(E.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(E.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(E.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,D,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(E.functorAff),w=T.evalF(e)(A),function(n){return l(g(w(n)))}),k=(D=T.queueOrRun(M),function(n){return D(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_(E.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_(E.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=E.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(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(E.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=D.kill(C.error("disposed")),function(n){return E.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(E.bindAff)(A.liftEffect(E.monadEffectAff)(L))(function(n){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.new(0)))(function(u){return r.bind(E.bindAff)(A.liftEffect(E.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(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(E.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(D.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"],E=n["Halogen.VDom.Machine"],D=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?E.halt(n.value0):l.unit};return{buildWidget:function(n){var t=D.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return E.mkStep(new E.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 E.mkStep(new E.Step(E.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 E.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=E.step(e.value0,t.value0);return E.mkStep(new E.Step(E.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=E.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=E.step(d.value0.machine,a),f=E.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"],E=n["Web.Event.Event"],D=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")("")(D.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)))}))(E.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;a=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t0)&&(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.ifElseA=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}(),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)(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 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(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.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Nullable"],w=n["Data.Ord"],b=n["Data.Profunctor.Strong"],y=n["Data.Show"],D=n["Data.String.CodePoints"],E=n["Data.String.Common"],A=n["Data.Symbol"],M=n["Data.Unit"],C=n["Data.Void"],F=n.Effect,T=n["Effect.Aff"],H=n["Effect.Aff.Class"],S=n["Effect.Class"],_=n.Globals,k=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],R=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],B=n.Util,P=n["Web.Event.Event"],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(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(){}return n.value=new n,n}(),X=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}(),$=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(){}return n.value=new n,n}(),en=A.SProxy.value,tn=function(n){return v.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)},rn=function(n){return v.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)},un=function(n){return v.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,v=function(n){return y.show(y.showInt)(n.bid)+"_tags"},an=_["app'"](M.unit);return k.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=D.take(16)(n.bm.time)+"Z",t=_.toLocaleDateString(n.bm.time),u=function(n){return B.fromNullableStr(an.userR)+"/t:"+n},a=function(n){return function(e){return m.Just.create($.create(n(e)))}};return L.div([N.id_(y.show(y.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([L.button([B.class_("moon-gray"),R.onClick(function(e){return new m.Just(new z(!n.bm.selected))})])([I.text("✭")])])}),B.ifElseH(n.edit)(function(e){return L.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([R.onSubmit(function(n){return m.Just.create(Z.create(n))})])([L.div_([I.text("url")]),L.input([N.type_(I.isPropInputType)(c.InputUrl.value),B.class_("url w-100 mb2 pt1 f7 edit_form_input"),N.required(!0),N.name("url"),N.value(n.edit_bm.url),R.onValueChange(a(O.create))]),L.div_([I.text("title")]),L.div([B.class_("flex")])([L.input([N.type_(I.isPropInputType)(c.InputText.value),B.class_("title w-100 mb2 pt1 f7 edit_form_input"),N.name("title"),N.value(n.edit_bm.title),R.onValueChange(a(W.create))]),L.button([N.disabled(n.loading),N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(K.value)}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([I.text("fetch")])]),L.div_([I.text("description")]),L.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),N.name("description"),N.rows(5),N.value(n.edit_bm.description),R.onValueChange(a(q.create))]),L.div([N.id_("tags_input_box")])([L.div_([I.text("tags")]),L.input([N.id_(v(n.edit_bm)),N.type_(I.isPropInputType)(c.InputText.value),B.class_("tags w-100 mb1 pt1 f7 edit_form_input"),N.name("tags"),N.autocomplete(!1),B.attr("autocapitalize")("off"),N.value(n.edit_bm.tags),R.onValueChange(a(J.create))])]),L.div([B.class_("edit_form_checkboxes mv3")])([L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("private pointer"),N.id_("edit_private"),N.name("private"),N.checked(n.edit_bm.private),R.onChecked(a(j.create))]),I.text(" "),L.label([N.for("edit_private"),B.class_("mr2")])([I.text("private")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("toread pointer"),N.id_("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),R.onChecked(a(Q.create))]),I.text(" "),L.label([N.for("edit_toread")])([I.text("to-read")])]),L.input([N.type_(I.isPropInputType)(c.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("cancel"),R.onClick(function(n){return new m.Just(new Y(!1))})])])])})(function(a){return L.div([B.class_("display")])([L.a([N.href(n.bm.url),N.target("_blank"),B.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([I.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([N.href(n.bm.url),B.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),L.a([N.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),N.target("_blank"),N.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),L.br_,L.div([B.class_("description mt1 mid-gray")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(en)(M.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([B.class_("tags")])(B.whenA(!E.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return L.a([B.class_("link tag mr1"+g.guard(g.monoidString)("."===D.take(1)(n))(" private")),N.href(u(n))])([I.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([B.class_("link f7 dib gray w4"),N.href((o=n.bm.slug,B.fromNullableStr(an.userR)+"/b:"+o)),N.title(e)])([I.text(t)]),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("edit_links di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new Y(!0))}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),L.div([B.class_("delete_link di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!0))}),B.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),L.span([B.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!1))})])([I.text("cancel / ")]),L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(X.value)}),B.class_("red")])([I.text("destroy")])])])])}),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([I.text("  "),L.button([R.onClick(function(n){return new m.Just(nn.value)}),B.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:k.mkEval({handleAction:function(n){if(n instanceof z)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.modifying(U.monadStateHalogenM)(un(b.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 p.modifying(U.monadStateHalogenM)(tn(b.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 G)return o.modify_(U.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 X)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof nn)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(U.monadStateHalogenM)(un(b.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 Y)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(tn(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(rn(b.strongFn))(n.value0))(function(){return S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(u.when(F.applicativeEffect)(n.value0)(_.setFocus(v(e))))})})});if(n instanceof $)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(){if(n.value0 instanceof O)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 W)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 q)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 j)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.BMark (line 237, column 17 - line 243, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return a.discard(a.discardUnit)(U.bindHalogenM)(o.modify_(U.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(U.bindHalogenM)(o.gets(U.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(U.monadStateHalogenM)(tn(b.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 m.Nothing)return u.pure(U.applicativeHalogenM)(M.unit);throw new Error("Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): "+[n.constructor.name])}())(function(){return o.modify_(U.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 a.discard(a.discardUnit)(U.bindHalogenM)(S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(P.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(tn(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(un(b.strongFn))(n))(function(){return p.assign(U.monadStateHalogenM)(rn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.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"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Either"],d=n["Data.Foldable"],v=n["Data.Function"],p=n["Data.Functor"],m=n["Data.Lens.Getter"],g=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],w=n["Data.Lens.Setter"],b=n["Data.Maybe"],y=n["Data.Monoid"],D=n["Data.Ord"],E=n["Data.Profunctor.Strong"],A=n["Data.Show"],M=n["Data.String.Common"],C=n["Data.Symbol"],F=n["Data.Tuple"],T=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,L=n["Halogen.Component"],R=n["Halogen.HTML"],N=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],B=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],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(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,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(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return h.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)},en=C.SProxy.value,tn=function(n){return h.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)},rn=function(n){return h.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,h=function(n){return A.show(A.showInt)(n.id)+"_text"},un=I["app'"](T.unit);return L.mkComponent({initialState:v.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return U.p([W.class_("red")])([N.text("you killed this note")])})(v.const(W.ifElseH(n.edit)(function(e){return U.form([B.onSubmit(function(n){return b.Just.create(X.create(n))})])([U.p([W.class_("mt2 mb1")])([N.text("title:")]),U.input([P.type_(N.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),B.onValueChange(t(j.create)),P.autofocus(M.null(n.edit_note.title))]),U.br_,U.p([W.class_("mt2 mb1")])([N.text("description:")]),U.textarea([P.id_(h(n.edit_note)),W.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),B.onValueChange(t(Q.create))]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),B.onChecked(t(V.create))]),N.text(" "),U.label([P.for("edit_ismarkdown"),W.class_("mr2")])([N.text("use markdown?")]),U.br_]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),B.onChecked(t(z.create))]),N.text(" "),U.label([P.for("edit_shared"),W.class_("mr2")])([N.text("public?")]),U.br_]),U.input([P.type_(N.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),N.text(" "),U.input([P.type_(N.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),B.onClick(function(n){return new b.Just(new Y(!1))})])])})(function(t){return U.div([P.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([U.div([W.class_("display")])([U.div([W.class_("link f5 lh-title")])([N.text(M.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([W.class_("description mt1")])([R.slot()(new C.IsSymbol(function(){return"markdown"}))(D.ordUnit)(en)(T.unit)(r.component)(n.note.text)(H.absurd)]):U.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(d.foldMap(d.foldableArray)(y.monoidArray)(function(n){return[U.br_,N.text(n)]})(M.split("\n")(u))))),U.div([W.class_("link f7 dib gray w4")])([U.span([P.title(b.maybe(n.note.created)(F.snd)(e(n.note)))])([N.text(b.maybe(" ")(F.fst)(e(n.note)))]),N.text(" - "),U.span([W.class_("gray")])([N.text(n.note.shared?"public":"private")])])]),W.whenH(un.dat.isowner)(function(e){return U.div([W.class_("edit_links db mt3")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([N.text("edit  ")]),U.div([W.class_("delete_link di")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+y.guard(y.monoidString)(n.deleteAsk)(" dn"))])([N.text("delete")]),U.span([W.class_("confirm red"+y.guard(y.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!1))})])([N.text("cancel / ")]),U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(Z.value)}),W.class_("red")])([N.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(T.unit);if(n instanceof K)return w.modifying(O.monadStateHalogenM)(tn(E.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 Q)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 V)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 z)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 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return i.modify_(O.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 Z)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(p.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(O.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 Y)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(tn(E.strongFn))(e))(function(){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(rn(E.strongFn))(n.value0))(function(){return x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(h(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(tn(g.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){return d.for_(O.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(un.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(nn(E.strongFn))(n))(function(){return w.assign(O.monadStateHalogenM)(rn(E.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.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.Semigroup"],w=n["Data.Show"],b=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unfoldable"],E=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],T=n["Halogen.HTML.Core"],H=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],x=n.Math,I=n.Model,L=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.tagcloudcomponent=function(n){var e,B=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}}}}}},P=function(n){return n instanceof I.TagCloudModeNone?r.pure(k.applicativeHalogenM)(E.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(I.tagCloudModeFromF(n))))(function(e){return o.modify_(k.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})})},O=C["app'"](E.unit),W=function(n){return L.fromNullableStr(O.userR)+(b.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=B(function(n){return x.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),s=B(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),d=_.attr("style")("font-size:"+w.show(w.showNumber)(s)+"%;opacity:"+w.show(w.showNumber)(o));return[H.a([_.href(W(r)),L.class_("link tag mr1"),d])([T.text(r)]),L.whenH(!c.null(n))(function(e){return l.notElem(l.foldableArray)(f.eqString)(i)(n)?H.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([T.text("⊕")]):H.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([T.text("⊖")])})]}}}}}(d.map(d.functorArray)(b.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return b.toLower(y.fst(n))})),o=M.toUnfoldable(D.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof I.TagCloudModeNone)return H.div([L.class_("tag_cloud")])([]);var e=new I.TagCloudModeTop(I.isExpanded(n.mode),200),t=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),5),r=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),20),u=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),2),a=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),10),o=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),1);return H.div([L.class_("tag_cloud mv3")])([H.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(I.isRelated(n.mode))(function(e){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text("Related Tags")])]})(function(c){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new p.Just(new U(e))})])([T.text("Top Tags")]),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new p.Just(new U(o))})])([T.text("all")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new p.Just(new U(u))})])([T.text("2")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new p.Just(new U(t))})])([T.text("5")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new p.Just(new U(a))})])([T.text("10")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new p.Just(new U(r))})])([T.text("20")])]}))([H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text(I.isExpanded(n.mode)?"hide":"show")])])),L.whenH(I.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 H.div([L.class_("tag_cloud_body")])(n.mode instanceof I.TagCloudModeNone?[]:n.mode instanceof I.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return P(n)});if(e instanceof N)return u.discard(u.discardUnit)(k.bindHalogenM)(o.modify_(k.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=I.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(I.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(I.eqTagCloudModeF)(t)(e.value0)?n(new N(!I.isExpanded(t))):P(I.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.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)})})})})})}},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(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=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"],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 B=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)})})))})})}}},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 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?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)(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)(P(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: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"],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(); },{"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 b0a6ae2f1a3098b52c9f2a7cc82330ff4caefa1b..62516a3754dc3163041794ec86ae7291efe56a13 100644 GIT binary patch delta 50569 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 yUw-+QM-4{Ky_SP&)3w<^jge!j?McU!j0 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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_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\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 var elem = function (dictFoldable) {\n return function (dictEq) {\n var $204 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $205 = Data_Eq.eq(dictEq);\n return function ($206) {\n return $204($205($206));\n };\n };\n };\n var notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $207 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $208 = elem(dictFoldable)(dictEq)(x);\n return function ($209) {\n return $207($208($209));\n };\n };\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[\"notElem\"] = notElem;\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.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // 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_Eq = $PS[\"Data.Eq\"];\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 $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\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[\"null\"] = $$null;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\n exports[\"delete\"] = $$delete;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"concat\"] = $foreign.concat;\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 \"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_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_String_Common = $PS[\"Data.String.Common\"];\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_String_Common.split(\" \")(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: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, 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 112, column 1 - line 112, 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 isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\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 102, column 1 - line 102, 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[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\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 \"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\n // | Exposes the inner details of a [`ComponentSlot`](#t:ComponentSlot) to a\n // | function to produce a new result.\n // |\n // | The hidden details will not be allowed to be revealed in the result\n // | of the function - if any of the hidden types (state, action, set of slots)\n // | appear in the result, the compiler will complain about an escaped skolem.\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n\n // | Exposes the inner details of a [`Component`](#t:Component) to a function\n // | to produce a new result.\n // |\n // | The hidden details will not be allowed to be revealed in the result\n // | of the function - if any of the hidden types (state, action, set of slots)\n // | appear in the result, the compiler will complain about an escaped skolem.\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n\n // | Accepts an `EvalSpec` to produce an `eval` function for a component.\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\n // | Constructs [`ComponentSlotBox`](#t:ComponentSlot) from a [`ComponentSlotSpec`](#t:ComponentSlotSpec).\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n\n // | Constructs a [`Component`](#t:Component) from a [`ComponentSpec`](#t:ComponentSpec).\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n\n // | A default value for `mkEval` that will result in an `eval` that nothing at\n // | all - all incoming actions and queries will be ignored, and no receiver,\n // | initializer, or finalizer will be specified.\n // |\n // | Usually this will be used with record update syntax to override fields to\n // | specify things as needed. If a component only needs to handle actions,\n // | for instance, a usage might be something like this:\n // |\n // | ``` purescript\n // | H.mkComponent\n // | { initialState\n // | , render\n // | , eval: H.mkEval (H.defaultEval { handleAction = ?handleAction })\n // | }\n // | ```\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\n // | Constructs a [`ComponentSlot`](#t:ComponentSlot).\n // |\n // | Takes:\n // | - the slot address label\n // | - the slot address index\n // | - the component for the slot\n // | - the input value to pass to the component\n // | - a function mapping outputs from the component to a query in the parent\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 \"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\n // | A wrapper for strings which are used as CSS classes.\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\n // | Constructs a text node `HTML` value.\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\n // | Create a HTML property.\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\n // | Create an event handler.\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n\n // | A smart constructor for HTML elements.\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\n // | Create a HTML attribute.\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 ifElseA = 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 $44 = Data_Maybe.fromMaybe(\"\");\n return function ($45) {\n return $44(Data_Nullable.toMaybe($45));\n };\n })();\n var class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($46));\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 $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return Global_Unsafe.unsafeDecodeURIComponent($47($48));\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 $43 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($43) {\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 ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\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[\"ifElseA\"] = ifElseA;\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 = $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_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 notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var 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 179, column 19 - line 183, 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 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(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (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 174, column 3 - line 174, 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_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_(notetextid(v.edit_note)), 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_Semigroup = $PS[\"Data.Semigroup\"];\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 $25 = m - n < 1.0e-2;\n if ($25) {\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 $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\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 $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\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 $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\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 161, column 3 - line 161, 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) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\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 var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Foldable.notElem(Data_Foldable.foldableArray)(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\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\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ 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 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ 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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ 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 $41 = Model.isExpanded(v.mode);\n if ($41) {\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 if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\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","any","alaF","monoidDisj","sep","$207","$208","$204","$205","$206","elem","$209","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","findIndexImpl","just","nothing","_deleteAt","xss","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","findIndex","deleteAt","concatMap","dictUnfoldable","unsafeIndex","otherwise","$94","$95","comp","deleteBy","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","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","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","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","_toLocaleDateString","dateString","Date","toLocaleDateString","dateStyle","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","$51","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","shdatetime","shdate","linkToFilterTag","userR","$73","dat","isowner","$74","slot","absurd","whenA","toggleStar","raise","markRead","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","notetextid","note$prime","isMarkdown","updated","destroyNote","whenM","editNote","res$prime","noteR","$$Math","TInitialize","TExpanded","TChangeMode","m$prime","rescale","fetchTagCloud","mode$prime","getTagCloud","tagCloudModeFromF","tagcloud","toArray","curtags","opacity","k_lower","fontsize","style","notElem","toSizedTag","sortBy","comparing","$52","modetop","isExpanded","modelb5","modelb20","modelb2","modelb10","modelb1","ifElseA","isRelated","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","$39","$40","isDuplicate","renderStateX","shouldProcessHandlers","childHandler","foreachSlot","childDS","renderStateX_","ds$prime","mmore","$24","evalDriver","disposed","dispose","subsRef","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_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\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 var elem = function (dictFoldable) {\n return function (dictEq) {\n var $204 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $205 = Data_Eq.eq(dictEq);\n return function ($206) {\n return $204($205($206));\n };\n };\n };\n var notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $207 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $208 = elem(dictFoldable)(dictEq)(x);\n return function ($209) {\n return $207($208($209));\n };\n };\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[\"notElem\"] = notElem;\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.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // 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_Eq = $PS[\"Data.Eq\"];\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 $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\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[\"null\"] = $$null;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\n exports[\"delete\"] = $$delete;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"concat\"] = $foreign.concat;\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\n\n exports._toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \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 Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var RawHTML = function (x) {\n return x;\n };\n var toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n };\n var setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\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 function () {\n return $foreign[\"_closeWindow\"](win);\n };\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 exports[\"toLocaleDateString\"] = toLocaleDateString;\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 \"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_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_String_Common = $PS[\"Data.String.Common\"];\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_String_Common.split(\" \")(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: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, 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 112, column 1 - line 112, 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 isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\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 102, column 1 - line 102, 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[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\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 \"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\n // | Exposes the inner details of a [`ComponentSlot`](#t:ComponentSlot) to a\n // | function to produce a new result.\n // |\n // | The hidden details will not be allowed to be revealed in the result\n // | of the function - if any of the hidden types (state, action, set of slots)\n // | appear in the result, the compiler will complain about an escaped skolem.\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n\n // | Exposes the inner details of a [`Component`](#t:Component) to a function\n // | to produce a new result.\n // |\n // | The hidden details will not be allowed to be revealed in the result\n // | of the function - if any of the hidden types (state, action, set of slots)\n // | appear in the result, the compiler will complain about an escaped skolem.\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n\n // | Accepts an `EvalSpec` to produce an `eval` function for a component.\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\n // | Constructs [`ComponentSlotBox`](#t:ComponentSlot) from a [`ComponentSlotSpec`](#t:ComponentSlotSpec).\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n\n // | Constructs a [`Component`](#t:Component) from a [`ComponentSpec`](#t:ComponentSpec).\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n\n // | A default value for `mkEval` that will result in an `eval` that nothing at\n // | all - all incoming actions and queries will be ignored, and no receiver,\n // | initializer, or finalizer will be specified.\n // |\n // | Usually this will be used with record update syntax to override fields to\n // | specify things as needed. If a component only needs to handle actions,\n // | for instance, a usage might be something like this:\n // |\n // | ``` purescript\n // | H.mkComponent\n // | { initialState\n // | , render\n // | , eval: H.mkEval (H.defaultEval { handleAction = ?handleAction })\n // | }\n // | ```\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\n // | Constructs a [`ComponentSlot`](#t:ComponentSlot).\n // |\n // | Takes:\n // | - the slot address label\n // | - the slot address index\n // | - the component for the slot\n // | - the input value to pass to the component\n // | - a function mapping outputs from the component to a query in the parent\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 \"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\n // | A wrapper for strings which are used as CSS classes.\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\n // | Constructs a text node `HTML` value.\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\n // | Create a HTML property.\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\n // | Create an event handler.\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n\n // | A smart constructor for HTML elements.\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\n // | Create a HTML attribute.\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 ifElseA = 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 $44 = Data_Maybe.fromMaybe(\"\");\n return function ($45) {\n return $44(Data_Nullable.toMaybe($45));\n };\n })();\n var class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($46));\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 $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return Global_Unsafe.unsafeDecodeURIComponent($47($48));\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 $43 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($43) {\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 ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\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[\"ifElseA\"] = ifElseA;\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_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_Applicative.when(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 237, column 17 - line 243, 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 250, column 5 - line 252, 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 201, column 3 - line 201, 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 shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\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_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), 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 = $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_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 notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var 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 179, column 19 - line 183, 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 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(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (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 174, column 3 - line 174, 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_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_(notetextid(v.edit_note)), 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_Semigroup = $PS[\"Data.Semigroup\"];\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 $25 = m - n < 1.0e-2;\n if ($25) {\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 $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\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 $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\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 $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\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 161, column 3 - line 161, 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) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\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 var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Foldable.notElem(Data_Foldable.foldableArray)(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\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\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ 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 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ 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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ 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 $41 = Model.isExpanded(v.mode);\n if ($41) {\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 if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\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 a32259ae8689886b2519476da73007397d1dab6f..71633e3bd4b2fdfa2fbad99866dfab3596bc7d38 100644 GIT binary patch delta 220424 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 ta-s# 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%0D9!xi;f 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
    aLBH33o2uu}uLG^( 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
    x7+8USMETbL26sa8}+&iqroU~Eq8<{ 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
      5IZyNBTA)jNAxGJ*Wf>$k7WWQx~dVtXa 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

      cZKJVo*(Q4G863P{f|xi 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� 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%0AsdS8EZ<);c>UKFp=x0PA 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