From 0546de274d7ecead68015e0d3a0ca11b76c12517 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Mon, 20 Jan 2020 11:14:46 -0600 Subject: [PATCH] focus tags input when editing bookmark --- .gitignore | 1 + purs/src/Component/Add.purs | 2 +- purs/src/Component/BMark.purs | 14 ++++++-------- purs/src/Globals.js | 4 ++++ purs/src/Globals.purs | 5 +++++ static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 72124 -> 72184 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 232976 -> 233416 bytes 9 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 9298505..c2b052f 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ tmp tags purs/docset/purescript-local.docset/ .ghc.environment.x86_64-linux-8.6.5 +.vscode diff --git a/purs/src/Component/Add.purs b/purs/src/Component/Add.purs index 48d96bc..e3c8d3a 100644 --- a/purs/src/Component/Add.purs +++ b/purs/src/Component/Add.purs @@ -97,7 +97,7 @@ addbmark b' = [ td_ [ label [ for "title" ] [ text "title" ] ] , td [class_ "flex"] [ input [ type_ InputText , id_ "title", class_ "w-100 mv1 flex-auto" , name "title" , value (edit_bm.title) , onValueChange (editField Etitle)] - , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 " <> guard s.loading "bg-light-silver") ] [ text "Fetch" ] + , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] ] ] , tr_ diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index 1b23611..82958e6 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') +import Globals (app', setFocus) import Halogen as H import Halogen.HTML (HTML, a, br_, button, div, div_, form, input, label, span, text, textarea) import Halogen.HTML as HH @@ -155,24 +155,20 @@ bmark b' = [ div_ [ text "url" ] , input [ type_ InputUrl , class_ "url w-100 mb2 pt1 f7 edit_form_input" , required true , name "url" , value (edit_bm.url) , onValueChange (editField Eurl) ] - , br_ , div_ [ text "title" ] , div [class_ "flex"] [input [ type_ InputText , class_ "title w-100 mb2 pt1 f7 edit_form_input" , name "title" , value (edit_bm.title) , onValueChange (editField Etitle) ] - , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 " <> guard s.loading "bg-light-silver") ] [ text "Fetch" ] + , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] ] - , br_ , div_ [ text "description" ] , textarea [ class_ "description w-100 mb1 pt1 f7 edit_form_input" , name "description", rows 5 , value (edit_bm.description) , onValueChange (editField Edescription) ] - , br_ , div [ id_ "tags_input_box"] [ div_ [ text "tags" ] - , input [ type_ InputText , class_ "tags w-100 mb1 pt1 f7 edit_form_input" , name "tags" + , input [ id_ (tagid edit_bm), type_ InputText , class_ "tags w-100 mb1 pt1 f7 edit_form_input" , name "tags" , autocomplete false, attr "autocapitalize" "off" , value (edit_bm.tags) , onValueChange (editField Etags) ] - , br_ ] , div [ class_ "edit_form_checkboxes mv3"] [ input [ type_ InputCheckbox , class_ "private pointer" , id_ "edit_private", name "private" @@ -184,7 +180,6 @@ bmark b' = , checked (edit_bm.toread) , onChecked (editField Etoread) ] , text " " , label [ for "edit_toread" ] [ text "to-read" ] - , br_ ] , input [ type_ InputSubmit , class_ "mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "save" ] , text " " @@ -200,6 +195,8 @@ bmark b' = linkToFilterTag tag = fromNullableStr app.userR <> "/t:" <> tag shtime = S.take 16 bm.time `append` "Z" + tagid bm = show bm.bid <> "_tags" + handleAction :: BAction -> H.HalogenM BState BAction ChildSlots BMessage Aff Unit -- | Star @@ -230,6 +227,7 @@ bmark b' = bm <- use _bm _edit_bm .= bm _edit .= e + H.liftEffect $ whenM (pure e) (setFocus (tagid bm)) -- | Update Form Field handleAction (BEditField f) = do diff --git a/purs/src/Globals.js b/purs/src/Globals.js index 2b973eb..839df90 100644 --- a/purs/src/Globals.js +++ b/purs/src/Globals.js @@ -65,3 +65,7 @@ exports._mmoment8601 = function(just, nothing, tuple, s) { exports._closeWindow = function (window) { window.close(); }; + +exports._setFocus = function(elemId) { + document.getElementById(elemId).focus(); +}; diff --git a/purs/src/Globals.purs b/purs/src/Globals.purs index f967339..2aa5046 100644 --- a/purs/src/Globals.purs +++ b/purs/src/Globals.purs @@ -95,3 +95,8 @@ closeWindow win = pure $ runFn1 _closeWindow win newtype RawHTML = RawHTML String derive instance newtypeRawHTML :: Newtype RawHTML _ + +foreign import _setFocus :: Fn1 String Unit + +setFocus :: String -> Effect Unit +setFocus s = pure $ runFn1 _setFocus s diff --git a/static/js/app.min.js b/static/js/app.min.js index dbaf6ef..97fb3cf 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=H,y=Q._3(j)));break;case m:P=new b(v,new b(h,y,E),P,I),w=H,y=I&&I!==O&&0===B?Q._1.killed(n.fromLeft(I))(Q._2):E?Q._1.failed(n.fromLeft(E))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),E=null,B++;break;case g:B++,P=new b(v,new b(h,y,E),P,I),w=H,y=Q._1;break;case h:B--,w=k,y=Q._1,E=Q._2}break;case L:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,D(W[V].handler(y)));return W=null,void(I&&E?setTimeout(function(){throw n.fromLeft(E)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=H;break;case _:return}}function j(n){return function(){if(w===L)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===L)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:I=n.left(e),w=L,y=I,J(d);break;case _:null===I&&(I=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(g,y(e)),P,I)),w=k,y=null,E=null,J(++d));break;default:null===I&&(I=n.left(e)),0===B&&(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&&(M.isDraining()?J(d):M.enqueue(function(){J(d)}))}}}function I(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.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}(),C=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}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=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(C.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(M.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)(T(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 C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)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)(T(c.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof H)return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(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"],C=n["Effect.Aff.Class"],M=n["Effect.Class"],F=n.Globals,H=n["Halogen.Component"],T=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],L=n["Halogen.Query.HalogenM"],x=n.Util,I=n["Web.Event.Event"],R=n["Web.HTML"],U=n["Web.HTML.Location"],N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](D.unit);return H.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_,T.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([x.class_("alert")])([T.text("previously saved "),S.span([x.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(E.snd)(e))])([T.text(g.maybe(" ")(E.fst)(e))]),S.div([x.class_("edit_links dib ml1")])([S.div([x.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),x.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([x.attr("hidden")("hidden")])))([T.text("delete")]),S.span(b.append(b.semigroupArray)([x.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([x.attr("hidden")("hidden")])))([S.button([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([T.text("cancel / ")]),S.button([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),x.class_("red")])([T.text("destroy")])])])])])};return x.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([x.class_("w-100")])([S.tbody_([S.tr_([S.td([x.class_("w1")])([]),S.td_([x.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([T.text("URL")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputUrl.value),k.id_("url"),x.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(N.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([T.text("title")])]),S.td([x.class_("flex")])([S.input([k.type_(T.isPropInputType)(i.InputText.value),k.id_("title"),x.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(P.create))]),S.button([k.disabled(n.loading),k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),x.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([T.text("Fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([T.text("description")])]),S.td_([S.textarea([x.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(B.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([T.text("tags")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputText.value),k.id_("tags"),x.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),x.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")])([T.text("private")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputCheckbox.value),k.id_("private"),x.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")])([T.text("read later")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),x.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_(T.isPropInputType)(i.InputSubmit.value),x.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([x.class_("red")])([T.text("you killed this bookmark")])})},eval:H.mkEval({handleAction:function(n){if(n instanceof Q)return a.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return u.discard(u.discardUnit)(L.bindHalogenM)(a.modify_(L.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(L.bindHalogenM)(a.gets(L.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(L.bindHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(L.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(L.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_(L.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(L.bindHalogenM)(a.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(s.void(L.functorHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.destroy(n))))(function(){return a.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(L.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof N)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(I.preventDefault(n.value0)))(function(){return u.bind(L.bindHalogenM)(d.use(L.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(s.void(L.functorHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(L.bindHalogenM)(m.assign(L.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(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(x._loc))(function(n){return u.bind(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(x._curQuerystring))(function(t){var r=x._lookupQueryStringValue(t)("next");return r instanceof g.Just?M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(U.setHref(r.value0)(n)):M.liftEffect(L.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:H.defaultEval.handleQuery,receive:H.defaultEval.receive,initialize:H.defaultEval.initialize,finalize:H.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"],E=n["Data.String.CodePoints"],D=n["Data.String.Common"],A=n["Data.Symbol"],C=n["Data.Unit"],M=n["Data.Void"],F=n["Effect.Aff"],H=n["Effect.Aff.Class"],T=n["Effect.Class"],S=n.Globals,_=n["Halogen.Component"],k=n["Halogen.HTML"],L=n["Halogen.HTML.Core"],x=n["Halogen.HTML.Elements"],I=n["Halogen.HTML.Events"],R=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],N=n.Util,P=n["Web.Event.Event"],B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(){}return n.value=new n,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(){}return n.value=new n,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=A.SProxy.value,en=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)},tn=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)},rn=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=S["app'"](C.unit);return _.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=E.take(16)(n.bm.time)+"Z",t=function(n){return N.fromNullableStr(v.userR)+"/t:"+n},u=function(n){return function(e){return m.Just.create(Y.create(n(e)))}};return x.div([R.id_(y.show(y.showInt)(n.bm.bid)),N.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([N.whenH(v.dat.isowner)(function(e){return x.div([N.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([x.button([N.class_("moon-gray"),I.onClick(function(e){return new m.Just(new V(!n.bm.selected))})])([L.text("✭")])])}),N.ifElseH(n.edit)(function(e){return x.div([N.class_("edit_bookmark_form pa2 pt0 bg-white")])([x.form([I.onSubmit(function(n){return m.Just.create($.create(n))})])([x.div_([L.text("url")]),x.input([R.type_(L.isPropInputType)(c.InputUrl.value),N.class_("url w-100 mb2 pt1 f7 edit_form_input"),R.required(!0),R.name("url"),R.value(n.edit_bm.url),I.onValueChange(u(B.create))]),x.br_,x.div_([L.text("title")]),x.div([N.class_("flex")])([x.input([R.type_(L.isPropInputType)(c.InputText.value),N.class_("title w-100 mb2 pt1 f7 edit_form_input"),R.name("title"),R.value(n.edit_bm.title),I.onValueChange(u(O.create))]),x.button([R.disabled(n.loading),R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new m.Just(G.value)}),N.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"))])([L.text("Fetch")])]),x.br_,x.div_([L.text("description")]),x.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),R.name("description"),R.rows(5),R.value(n.edit_bm.description),I.onValueChange(u(W.create))]),x.br_,x.div([R.id_("tags_input_box")])([x.div_([L.text("tags")]),x.input([R.type_(L.isPropInputType)(c.InputText.value),N.class_("tags w-100 mb1 pt1 f7 edit_form_input"),R.name("tags"),R.autocomplete(!1),N.attr("autocapitalize")("off"),R.value(n.edit_bm.tags),I.onValueChange(u(q.create))]),x.br_]),x.div([N.class_("edit_form_checkboxes mv3")])([x.input([R.type_(L.isPropInputType)(c.InputCheckbox.value),N.class_("private pointer"),R.id_("edit_private"),R.name("private"),R.checked(n.edit_bm.private),I.onChecked(u(J.create))]),L.text(" "),x.label([R.for("edit_private"),N.class_("mr2")])([L.text("private")]),L.text(" "),x.input([R.type_(L.isPropInputType)(c.InputCheckbox.value),N.class_("toread pointer"),R.id_("edit_toread"),R.name("toread"),R.checked(n.edit_bm.toread),I.onChecked(u(j.create))]),L.text(" "),x.label([R.for("edit_toread")])([L.text("to-read")]),x.br_]),x.input([R.type_(L.isPropInputType)(c.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),R.value("save")]),L.text(" "),x.input([R.type_(L.isPropInputType)(c.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),R.value("cancel"),I.onClick(function(n){return new m.Just(new X(!1))})])])])})(function(u){return x.div([N.class_("display")])([x.a([R.href(n.bm.url),R.target("_blank"),N.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([L.text(D.null(n.bm.title)?"[no title]":n.bm.title)]),x.br_,x.a([R.href(n.bm.url),N.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),x.a([R.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),N.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),R.target("_blank"),R.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),x.br_,x.div([N.class_("description mt1 mid-gray")])([k.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(C.unit)(r.component)(n.bm.description)(M.absurd)]),x.div([N.class_("tags")])(N.whenA(!D.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return x.a([N.class_("link tag mr1"+g.guard(g.monoidString)("."===E.take(1)(n))(" private")),R.href(t(n))])([L.text(n)])})(D.split(" ")(n.bm.tags))})),x.a([N.class_("link f7 dib gray w4"),R.href((a=n.bm.slug,N.fromNullableStr(v.userR)+"/b:"+a))])([L.text(e)]),N.whenH(v.dat.isowner)(function(e){return x.div([N.class_("edit_links di")])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new m.Just(new X(!0))}),N.class_("edit light-silver hover-blue")])([L.text("edit  ")]),x.div([N.class_("delete_link di")])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new m.Just(new z(!0))}),N.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),x.span([N.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new m.Just(new z(!1))})])([L.text("cancel / ")]),x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new m.Just(K.value)}),N.class_("red")])([L.text("destroy")])])])])}),N.whenH(v.dat.isowner)(function(e){return x.div([N.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([L.text("  "),x.button([I.onClick(function(n){return new m.Just(Z.value)}),N.class_("mark_read")])([L.text("mark as read")])]))})]);var a})])},eval:_.mkEval({handleAction:function(n){if(n instanceof V)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(rn(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)(rn(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)(en(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 z)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 K)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(rn(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(Q.value)})});if(n instanceof Z)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(rn(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)(rn(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 X)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(rn(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(en(b.strongFn))(e))(function(){return p.assign(U.monadStateHalogenM)(tn(b.strongFn))(n.value0)})});if(n instanceof Y)return p.modifying(U.monadStateHalogenM)(en(b.strongFn))(function(){if(n.value0 instanceof B)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)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 q)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 j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 236, column 17 - line 242, column 36): "+[n.value0.constructor.name])}());if(n instanceof G)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)(en(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)(C.unit);throw new Error("Failed pattern match at Component.BMark (line 249, column 5 - line 251, 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 $)return a.discard(a.discardUnit)(U.bindHalogenM)(T.liftEffect(U.monadEffectHalogenM(F.monadEffectAff))(P.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(en(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)(rn(b.strongFn))(n))(function(){return p.assign(U.monadStateHalogenM)(tn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 203, column 3 - line 203, column 84): "+[n.constructor.name])},handleQuery:_.defaultEval.handleQuery,receive:_.defaultEval.receive,initialize:_.defaultEval.initialize,finalize:_.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.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],E=n["Data.Profunctor.Strong"],D=n["Data.Show"],A=n["Data.String.Common"],C=n["Data.Symbol"],M=n["Data.Tuple"],F=n["Data.Unit"],H=n["Data.Void"],T=n.Effect,S=n["Effect.Aff"],_=n["Effect.Aff.Class"],k=n["Effect.Class"],L=n.Globals,x=n["Halogen.Component"],I=n["Halogen.HTML"],R=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],N=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],B=n["Halogen.Query.HalogenM"],O=n.Util,W=n["Web.Event.Event"],q=n["Web.HTML.Location"],J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=C.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,g=L["app'"](F.unit);return x.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return L.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(G.create(n(e)))}};return O.ifElseH(n.destroyed)(function(n){return U.p([O.class_("red")])([R.text("you killed this note")])})(d.const(O.ifElseH(n.edit)(function(e){return U.form([N.onSubmit(function(n){return w.Just.create(K.create(n))})])([U.p([O.class_("mt2 mb1")])([R.text("title:")]),U.input([P.type_(R.isPropInputType)(c.InputText.value),O.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),N.onValueChange(t(J.create))]),U.br_,U.p([O.class_("mt2 mb1")])([R.text("description:")]),U.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),N.onValueChange(t(j.create))]),U.div([O.class_("edit_form_checkboxes mb3")])([U.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),N.onChecked(t(Q.create))]),R.text(" "),U.label([P.for("edit_ismarkdown"),O.class_("mr2")])([R.text("use markdown?")]),U.br_]),U.div([O.class_("edit_form_checkboxes mb3")])([U.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),N.onChecked(t(V.create))]),R.text(" "),U.label([P.for("edit_shared"),O.class_("mr2")])([R.text("public?")]),U.br_]),U.input([P.type_(R.isPropInputType)(c.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),R.text(" "),U.input([P.type_(R.isPropInputType)(c.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),N.onClick(function(n){return new w.Just(new X(!1))})])])})(function(t){return U.div([P.id_(D.show(D.showInt)(n.note.id)),O.class_("note w-100 mw7 pa1 mb2")])([U.div([O.class_("display")])([U.div([O.class_("link f5 lh-title")])([R.text(A.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([O.class_("description mt1")])([I.slot()(new C.IsSymbol(function(){return"markdown"}))(y.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):U.div([O.class_("description mt1 mid-gray")])((u=n.note.text,f.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[U.br_,R.text(n)]})(A.split("\n")(u))))),U.div([O.class_("link f7 dib gray w4")])([U.span([P.title(w.maybe(n.note.created)(M.snd)(e(n.note)))])([R.text(w.maybe(" ")(M.fst)(e(n.note)))]),R.text(" - "),U.span([O.class_("gray")])([R.text(n.note.shared?"public":"private")])])]),O.whenH(g.dat.isowner)(function(e){return U.div([O.class_("edit_links db mt3")])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new X(!0))}),O.class_("edit light-silver hover-blue")])([R.text("edit  ")]),U.div([O.class_("delete_link di")])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new Y(!0))}),O.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([R.text("delete")]),U.span([O.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new Y(!1))})])([R.text("cancel / ")]),U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just($.value)}),O.class_("red")])([R.text("destroy")])])])])})]);var u})))},eval:x.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(B.applicativeHalogenM)(F.unit);if(n instanceof G)return h.modifying(B.monadStateHalogenM)(en(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 j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return o.modify_(B.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(v.void(B.functorHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(en(E.strongFn))(e))(function(){return h.assign(B.monadStateHalogenM)(tn(E.strongFn))(n.value0)})});if(n instanceof K)return a.discard(a.discardUnit)(B.bindHalogenM)(k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(W.preventDefault(n.value0)))(function(){return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(B.bindHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.editNote(n)))(function(e){return s.for_(B.applicativeHalogenM)(l.foldableEither)(e)(function(e){return 0===n.id?k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(a.bindFlipped(T.bindEffect)(q.setHref(O.fromNullableStr(g.noteR)))(O._loc)):a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(Z(E.strongFn))(n))(function(){return h.assign(B.monadStateHalogenM)(tn(E.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): "+[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["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))})}}}}}}}},C=new v.Functor(h.rmap(E)),M=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(M));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(C)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(C)(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(C)(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=C}(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"],C=n.Effect,M=n["Effect.Aff"],F=n["Effect.Class"],H=n["Effect.Exception"],T=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenM"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],U=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(t){if(t instanceof E.Nothing)return e;if(t instanceof E.Just)return F.liftEffect(M.monadEffectAff)(T.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])})}},N=function(n){return function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(e))(function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(g.traverse_(M.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(M.bindAff)(s.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(M.applicativeAff)(e)})})})})})}},P=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(e){return F.liftEffect(M.monadEffectAff)(T["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},B=function(n){return function(e){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new x.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(M.monadRecAff)((h=s,function(c){if(c instanceof L.State)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(M.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.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)(M.bindAff)(N(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(M.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 L.Subscribe)return u.bind(M.bindAff)(P(L.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(o){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(u.bind(M.bindAff)(r)(function(r){var c=u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.delete(L.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(M.applicativeAff)(E.maybe(!1)(y.member(L.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(M.monadAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(M.monadAff))(m.eq(E.eqMaybe(m.eqBoolean))(w.map(E.functorMaybe)(y.member(L.ordSubscriptionId)(n))(o))(new E.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(M.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new I.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.insert(L.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(M.applicativeAff)(c.value1(n))})})});if(c instanceof L.Unsubscribe)return u.discard(u.discardUnit)(M.bindAff)((s=c.value0,function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.subscriptions)))(function(n){return g.traverse_(M.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(E.bindMaybe)(y.lookup(L.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(M.applicativeAff)(c.value1)});var s,p,b;if(c instanceof L.Lift)return c.value0;if(c instanceof L.ChildQuery)return function(n){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(M.functorAff)(t.value2)(d.sequential(M.parallelAff)(t.value0(M.applicativeParAff)(function(n){return d.parallel(M.parallelAff)(u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return S.unDriverStateX(function(n){return B(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof L.Raise)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(U(n.pendingOuts)(e(c.value0)))(function(){return t.pure(M.applicativeAff)(c.value1)})})});if(c instanceof L.Par)return d.sequential(M.parallelAff)(r.retractFreeAp(M.applicativeParAff)(r.hoistFreeAp((p=d.parallel(M.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof L.Fork)return u.bind(M.bindAff)(P(L.ForkId)(h))(function(r){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(a){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.new(!1)))(function(f){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(M.finally(F.liftEffect(M.monadEffectAff)(function(){return T.modify_(y.delete(L.ordForkId)(r))(a.forks)(),T.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(o.unlessM(C.monadEffect)(T.read(f))(T.modify_(y.insert(L.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(M.applicativeAff)(c.value1(r))})})})})});if(c instanceof L.Kill)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.forks)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(g.traverse_(M.applicativeAff)(g.foldableMaybe)(M.killFiber(H.error("Cancelled")))(y.lookup(L.ordForkId)(c.value0)(n)))(function(){return t.pure(M.applicativeAff)(c.value1)})})});if(c instanceof L.GetRef)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return t.pure(M.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 I.RefUpdate)return F.liftEffect(M.monadEffectAff)(h.flip(T.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 I.Action)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new x.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=B,e.evalM=O,e.handleLifecycle=N,e.queueOrRun=U}(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"],C=n["Effect.Console"],M=n["Effect.Exception"],F=n["Effect.Ref"],H=n["Halogen.Aff.Driver.Eval"],T=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenQ"],x=n["Halogen.Query.Input"],I=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=E.runAff_(l.either(M.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),U=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(N){var P=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(M.error("ended"))(u)})})))})})}}},B=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=I(),i=T.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(T.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var u=H.evalM(W)(t.selfRef)(t.component.eval(new L.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 U(t.pendingQueries)(),U(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 T.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(H.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return i.input instanceof L.Receive?B(e)((r=h.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():M.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)(C.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))(T.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return M.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),C=u.identity(u.categoryFn)(o.pendingQueries),M=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=H.queueOrRun(M),g=v.void(E.functorAff),w=H.evalF(e)(A),function(n){return l(g(w(n)))}),k=(D=H.queueOrRun(C),function(n){return D(S(x.Action.create(n)))}),L=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),I=F.read(o.childrenOut)(),U=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(U)(function(e){return function(){var t=F.read(e)();return T.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(T.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:I,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(L),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(M)();F.write(new h.Just(m.Nil.value))(M)(),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(M)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(M))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return T.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(M.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=H.evalM(W)(t.selfRef)(t.component.eval(new L.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):H.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return H.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(M.error("disposed")),function(n){return E.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),T.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)(I))(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 H.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(B(n)((o=c,function(n){return r.bind(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))})}))(N)(e))();return T.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:P(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&u.refEq(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],E=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],C=n["Web.DOM.Node"],M=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],H=n["Web.HTML.HTMLElement"],T=n["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return C.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)(C.appendChild(v)(H.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),e=C.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)(C.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(C.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)(T.document)(M.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["Control.Bind"],l=n["Data.Foldable"],s=n["Data.Functor"],d=n["Data.Unit"],v=n.Effect,p=n["Effect.Aff"],m=n["Effect.Class"],g=n["Halogen.Aff.Util"],h=n["Halogen.VDom.Driver"],w=n["Web.DOM.Element"],b=n["Web.Event.Event"],y=n["Web.HTML.HTMLElement"],E=f.bind(p.bindAff)(g.selectElement("#content"))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(w.setAttribute("view-rendered")("")(y.toElement(n)))})),D=t._mainImpl;e.main=D,e.logoutE=function(n){return f.bindFlipped(v.bindEffect)((e=s.void(v.functorEffect),function(n){return e(p.launchAff(r.logout(n)))}))(b.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(o.blist(e))(d.unit)(n)))(function(){return E})})))}},e.renderAddForm=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(a.addbmark(e))(d.unit)(n)))(function(){return E})})))}},e.renderNotes=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(i.nlist(e))(d.unit)(n)))(function(){return E})})))}},e.renderNote=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(c.nnote(e))(d.unit)(n)))(function(){return E})})))}},e.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(u.usetting(e))(d.unit)(n)))(function(){return E})})))}},e.viewRendered=E,e._mainImpl=t._mainImpl}(t),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n,e){if(null===e.nodejsBaseUrl){var t=module.require("url"),r=t.parse(n);return r.protocol=r.protocol||"http:",r.hostname=r.hostname||"localhost",t.format(r)}return n||"/"},r.getResponse=function(n){return n.response}),function(n,e){return function(t,u){var a=r.newXHR(),o=r.fixupUrl(e.url,a);if(a.open(e.method||"GET",o,!0,e.username,e.password),e.headers)try{for(var i,c=0;null!=(i=e.headers[c]);c++)a.setRequestHeader(i.field,i.value)}catch(l){t(l)}var f=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return a.onerror=f("AJAX request failed"),a.ontimeout=f("AJAX request timed out"),a.onload=function(){u({status:a.status,statusText:a.statusText,headers:a.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=H,y=Q._3(j)));break;case m:P=new b(v,new b(h,y,E),P,I),w=H,y=I&&I!==O&&0===B?Q._1.killed(n.fromLeft(I))(Q._2):E?Q._1.failed(n.fromLeft(E))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),E=null,B++;break;case g:B++,P=new b(v,new b(h,y,E),P,I),w=H,y=Q._1;break;case h:B--,w=k,y=Q._1,E=Q._2}break;case L:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,D(W[V].handler(y)));return W=null,void(I&&E?setTimeout(function(){throw n.fromLeft(E)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=H;break;case _:return}}function j(n){return function(){if(w===L)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===L)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:I=n.left(e),w=L,y=I,J(d);break;case _:null===I&&(I=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(g,y(e)),P,I)),w=k,y=null,E=null,J(++d));break;default:null===I&&(I=n.left(e)),0===B&&(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&&(M.isDraining()?J(d):M.enqueue(function(){J(d)}))}}}function I(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.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}(),C=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}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=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(C.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(M.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)(T(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 C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)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)(T(c.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof H)return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(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"],C=n["Effect.Aff.Class"],M=n["Effect.Class"],F=n.Globals,H=n["Halogen.Component"],T=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],L=n["Halogen.Query.HalogenM"],x=n.Util,I=n["Web.Event.Event"],R=n["Web.HTML"],U=n["Web.HTML.Location"],N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](D.unit);return H.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_,T.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([x.class_("alert")])([T.text("previously saved "),S.span([x.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(E.snd)(e))])([T.text(g.maybe(" ")(E.fst)(e))]),S.div([x.class_("edit_links dib ml1")])([S.div([x.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),x.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([x.attr("hidden")("hidden")])))([T.text("delete")]),S.span(b.append(b.semigroupArray)([x.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([x.attr("hidden")("hidden")])))([S.button([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([T.text("cancel / ")]),S.button([k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),x.class_("red")])([T.text("destroy")])])])])])};return x.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([x.class_("w-100")])([S.tbody_([S.tr_([S.td([x.class_("w1")])([]),S.td_([x.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([T.text("URL")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputUrl.value),k.id_("url"),x.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(N.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([T.text("title")])]),S.td([x.class_("flex")])([S.input([k.type_(T.isPropInputType)(i.InputText.value),k.id_("title"),x.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(P.create))]),S.button([k.disabled(n.loading),k.type_(T.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),x.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([T.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([T.text("description")])]),S.td_([S.textarea([x.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(B.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([T.text("tags")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputText.value),k.id_("tags"),x.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),x.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")])([T.text("private")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputCheckbox.value),k.id_("private"),x.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")])([T.text("read later")])]),S.td_([S.input([k.type_(T.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),x.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_(T.isPropInputType)(i.InputSubmit.value),x.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([x.class_("red")])([T.text("you killed this bookmark")])})},eval:H.mkEval({handleAction:function(n){if(n instanceof Q)return a.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return u.discard(u.discardUnit)(L.bindHalogenM)(a.modify_(L.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(L.bindHalogenM)(a.gets(L.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(L.bindHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(L.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(L.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_(L.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(L.bindHalogenM)(a.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(s.void(L.functorHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.destroy(n))))(function(){return a.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(L.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof N)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(I.preventDefault(n.value0)))(function(){return u.bind(L.bindHalogenM)(d.use(L.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(L.bindHalogenM)(s.void(L.functorHalogenM)(C.liftAff(L.monadAffHalogenM(C.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(L.bindHalogenM)(m.assign(L.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(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(x._loc))(function(n){return u.bind(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(L.bindHalogenM)(M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(x._curQuerystring))(function(t){var r=x._lookupQueryStringValue(t)("next");return r instanceof g.Just?M.liftEffect(L.monadEffectHalogenM(A.monadEffectAff))(U.setHref(r.value0)(n)):M.liftEffect(L.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:H.defaultEval.handleQuery,receive:H.defaultEval.receive,initialize:H.defaultEval.initialize,finalize:H.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"],C=n["Data.Symbol"],M=n["Data.Unit"],F=n["Data.Void"],H=n.Effect,T=n["Effect.Aff"],S=n["Effect.Aff.Class"],_=n["Effect.Class"],k=n.Globals,L=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],R=n["Halogen.HTML.Elements"],U=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],P=n["Halogen.Query.HalogenM"],B=n.Util,O=n["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(){}return n.value=new n,n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),en=function(){function n(){}return n.value=new n,n}(),tn=C.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'"](M.unit);return L.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 B.fromNullableStr(on.userR)+"/t:"+n},u=function(n){return function(e){return g.Just.create(Z.create(n(e)))}};return R.div([N.id_(E.show(E.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+h.guard(h.monoidString)(n.bm.private)(" private"))])([B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("star fl pointer"+h.guard(h.monoidString)(n.bm.selected)(" selected"))])([R.button([B.class_("moon-gray"),U.onClick(function(e){return new g.Just(new G(!n.bm.selected))})])([I.text("✭")])])}),B.ifElseH(n.edit)(function(e){return R.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([R.form([U.onSubmit(function(n){return g.Just.create(nn.create(n))})])([R.div_([I.text("url")]),R.input([N.type_(I.isPropInputType)(f.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),U.onValueChange(u(W.create))]),R.div_([I.text("title")]),R.div([B.class_("flex")])([R.input([N.type_(I.isPropInputType)(f.InputText.value),B.class_("title w-100 mb2 pt1 f7 edit_form_input"),N.name("title"),N.value(n.edit_bm.title),U.onValueChange(u(q.create))]),R.button([N.disabled(n.loading),N.type_(I.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new g.Just(X.value)}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([I.text("fetch")])]),R.div_([I.text("description")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),N.name("description"),N.rows(5),N.value(n.edit_bm.description),U.onValueChange(u(J.create))]),R.div([N.id_("tags_input_box")])([R.div_([I.text("tags")]),R.input([N.id_(p(n.edit_bm)),N.type_(I.isPropInputType)(f.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),U.onValueChange(u(j.create))])]),R.div([B.class_("edit_form_checkboxes mv3")])([R.input([N.type_(I.isPropInputType)(f.InputCheckbox.value),B.class_("private pointer"),N.id_("edit_private"),N.name("private"),N.checked(n.edit_bm.private),U.onChecked(u(Q.create))]),I.text(" "),R.label([N.for("edit_private"),B.class_("mr2")])([I.text("private")]),I.text(" "),R.input([N.type_(I.isPropInputType)(f.InputCheckbox.value),B.class_("toread pointer"),N.id_("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),U.onChecked(u(V.create))]),I.text(" "),R.label([N.for("edit_toread")])([I.text("to-read")])]),R.input([N.type_(I.isPropInputType)(f.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),I.text(" "),R.input([N.type_(I.isPropInputType)(f.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("cancel"),U.onClick(function(n){return new g.Just(new $(!1))})])])])})(function(u){return R.div([B.class_("display")])([R.a([N.href(n.bm.url),N.target("_blank"),B.class_("link f5 lh-title"+h.guard(h.monoidString)(n.bm.toread)(" unread"))])([I.text(A.null(n.bm.title)?"[no title]":n.bm.title)]),R.br_,R.a([N.href(n.bm.url),B.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),R.a([N.href(g.fromMaybe("http://archive.is/"+n.bm.url)(w.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+h.guard(h.monoidString)(g.isJust(w.toMaybe(n.bm.archiveUrl)))(" green")),N.target("_blank"),N.title("archive link")])([g.isJust(w.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),R.br_,R.div([B.class_("description mt1 mid-gray")])([x.slot()(new C.IsSymbol(function(){return"markdown"}))(b.ordUnit)(tn)(M.unit)(r.component)(n.bm.description)(F.absurd)]),R.div([B.class_("tags")])(B.whenA(!A.null(n.bm.tags))(function(e){return s.map(s.functorArray)(function(n){return R.a([B.class_("link tag mr1"+h.guard(h.monoidString)("."===D.take(1)(n))(" private")),N.href(t(n))])([I.text(n)])})(A.split(" ")(n.bm.tags))})),R.a([B.class_("link f7 dib gray w4"),N.href((a=n.bm.slug,B.fromNullableStr(on.userR)+"/b:"+a))])([I.text(e)]),B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("edit_links di")])([R.button([N.type_(I.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new g.Just(new $(!0))}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([N.type_(I.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new g.Just(new K(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([N.type_(I.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new g.Just(new K(!1))})])([I.text("cancel / ")]),R.button([N.type_(I.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new g.Just(Y.value)}),B.class_("red")])([I.text("destroy")])])])])}),B.whenH(on.dat.isowner)(function(e){return R.div([B.class_("read di")])(h.guard(h.monoidArray)(n.bm.toread)([I.text("  "),R.button([U.onClick(function(n){return new g.Just(en.value)}),B.class_("mark_read")])([I.text("mark as read")])]))})]);var a})])},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.modifying(P.monadStateHalogenM)(an(y.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return m.modifying(P.monadStateHalogenM)(rn(y.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof K)return i.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Y)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.destroy(n.bid))))(function(){return P.raise(z.value)})});if(n instanceof en)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.markRead(n.bid))))(function(){return m.modifying(P.monadStateHalogenM)(an(y.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof $)return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(an(v.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(rn(y.strongFn))(e))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(un(y.strongFn))(n.value0))(function(){return _.liftEffect(P.monadEffectHalogenM(T.monadEffectAff))(o.whenM(H.monadEffect)(u.pure(H.applicativeEffect)(n.value0))(k.setFocus(p(e))))})})});if(n instanceof Z)return m.modifying(P.monadStateHalogenM)(rn(y.strongFn))(function(){if(n.value0 instanceof W)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof V)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 234, column 17 - line 240, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return a.discard(a.discardUnit)(P.bindHalogenM)(i.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(P.bindHalogenM)(i.gets(P.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(P.bindHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(P.monadStateHalogenM)(rn(y.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof g.Nothing)return u.pure(P.applicativeHalogenM)(M.unit);throw new Error("Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): "+[n.constructor.name])}())(function(){return i.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof nn)return a.discard(a.discardUnit)(P.bindHalogenM)(_.liftEffect(P.monadEffectHalogenM(T.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(P.bindHalogenM)(d.use(P.monadStateHalogenM)(rn(v.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(s.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(m.assign(P.monadStateHalogenM)(an(y.strongFn))(n))(function(){return m.assign(P.monadStateHalogenM)(un(y.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.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.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],E=n["Data.Profunctor.Strong"],D=n["Data.Show"],A=n["Data.String.Common"],C=n["Data.Symbol"],M=n["Data.Tuple"],F=n["Data.Unit"],H=n["Data.Void"],T=n.Effect,S=n["Effect.Aff"],_=n["Effect.Aff.Class"],k=n["Effect.Class"],L=n.Globals,x=n["Halogen.Component"],I=n["Halogen.HTML"],R=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],N=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],B=n["Halogen.Query.HalogenM"],O=n.Util,W=n["Web.Event.Event"],q=n["Web.HTML.Location"],J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=C.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,g=L["app'"](F.unit);return x.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return L.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(G.create(n(e)))}};return O.ifElseH(n.destroyed)(function(n){return U.p([O.class_("red")])([R.text("you killed this note")])})(d.const(O.ifElseH(n.edit)(function(e){return U.form([N.onSubmit(function(n){return w.Just.create(K.create(n))})])([U.p([O.class_("mt2 mb1")])([R.text("title:")]),U.input([P.type_(R.isPropInputType)(c.InputText.value),O.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),N.onValueChange(t(J.create))]),U.br_,U.p([O.class_("mt2 mb1")])([R.text("description:")]),U.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),N.onValueChange(t(j.create))]),U.div([O.class_("edit_form_checkboxes mb3")])([U.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),N.onChecked(t(Q.create))]),R.text(" "),U.label([P.for("edit_ismarkdown"),O.class_("mr2")])([R.text("use markdown?")]),U.br_]),U.div([O.class_("edit_form_checkboxes mb3")])([U.input([P.type_(R.isPropInputType)(c.InputCheckbox.value),O.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),N.onChecked(t(V.create))]),R.text(" "),U.label([P.for("edit_shared"),O.class_("mr2")])([R.text("public?")]),U.br_]),U.input([P.type_(R.isPropInputType)(c.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),R.text(" "),U.input([P.type_(R.isPropInputType)(c.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),N.onClick(function(n){return new w.Just(new X(!1))})])])})(function(t){return U.div([P.id_(D.show(D.showInt)(n.note.id)),O.class_("note w-100 mw7 pa1 mb2")])([U.div([O.class_("display")])([U.div([O.class_("link f5 lh-title")])([R.text(A.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([O.class_("description mt1")])([I.slot()(new C.IsSymbol(function(){return"markdown"}))(y.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):U.div([O.class_("description mt1 mid-gray")])((u=n.note.text,f.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[U.br_,R.text(n)]})(A.split("\n")(u))))),U.div([O.class_("link f7 dib gray w4")])([U.span([P.title(w.maybe(n.note.created)(M.snd)(e(n.note)))])([R.text(w.maybe(" ")(M.fst)(e(n.note)))]),R.text(" - "),U.span([O.class_("gray")])([R.text(n.note.shared?"public":"private")])])]),O.whenH(g.dat.isowner)(function(e){return U.div([O.class_("edit_links db mt3")])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new X(!0))}),O.class_("edit light-silver hover-blue")])([R.text("edit  ")]),U.div([O.class_("delete_link di")])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new Y(!0))}),O.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([R.text("delete")]),U.span([O.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just(new Y(!1))})])([R.text("cancel / ")]),U.button([P.type_(R.isPropButtonType)(i.ButtonButton.value),N.onClick(function(n){return new w.Just($.value)}),O.class_("red")])([R.text("destroy")])])])])})]);var u})))},eval:x.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(B.applicativeHalogenM)(F.unit);if(n instanceof G)return h.modifying(B.monadStateHalogenM)(en(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 j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return o.modify_(B.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(v.void(B.functorHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(en(E.strongFn))(e))(function(){return h.assign(B.monadStateHalogenM)(tn(E.strongFn))(n.value0)})});if(n instanceof K)return a.discard(a.discardUnit)(B.bindHalogenM)(k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(W.preventDefault(n.value0)))(function(){return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(B.bindHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.editNote(n)))(function(e){return s.for_(B.applicativeHalogenM)(l.foldableEither)(e)(function(e){return 0===n.id?k.liftEffect(B.monadEffectHalogenM(S.monadEffectAff))(a.bindFlipped(T.bindEffect)(q.setHref(O.fromNullableStr(g.noteR)))(O._loc)):a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(Z(E.strongFn))(n))(function(){return h.assign(B.monadStateHalogenM)(tn(E.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): "+[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["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))})}}}}}}}},C=new v.Functor(h.rmap(E)),M=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(M));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(C)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(C)(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(C)(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=C}(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"],C=n.Effect,M=n["Effect.Aff"],F=n["Effect.Class"],H=n["Effect.Exception"],T=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenM"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],U=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(t){if(t instanceof E.Nothing)return e;if(t instanceof E.Just)return F.liftEffect(M.monadEffectAff)(T.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])})}},N=function(n){return function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(e))(function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(g.traverse_(M.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(M.bindAff)(s.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(M.applicativeAff)(e)})})})})})}},P=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(e){return F.liftEffect(M.monadEffectAff)(T["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},B=function(n){return function(e){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new x.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(M.monadRecAff)((h=s,function(c){if(c instanceof L.State)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(M.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.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)(M.bindAff)(N(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(M.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 L.Subscribe)return u.bind(M.bindAff)(P(L.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(o){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(u.bind(M.bindAff)(r)(function(r){var c=u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.delete(L.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(M.applicativeAff)(E.maybe(!1)(y.member(L.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(M.monadAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(M.monadAff))(m.eq(E.eqMaybe(m.eqBoolean))(w.map(E.functorMaybe)(y.member(L.ordSubscriptionId)(n))(o))(new E.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(M.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new I.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.insert(L.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(M.applicativeAff)(c.value1(n))})})});if(c instanceof L.Unsubscribe)return u.discard(u.discardUnit)(M.bindAff)((s=c.value0,function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.subscriptions)))(function(n){return g.traverse_(M.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(E.bindMaybe)(y.lookup(L.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(M.applicativeAff)(c.value1)});var s,p,b;if(c instanceof L.Lift)return c.value0;if(c instanceof L.ChildQuery)return function(n){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(M.functorAff)(t.value2)(d.sequential(M.parallelAff)(t.value0(M.applicativeParAff)(function(n){return d.parallel(M.parallelAff)(u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return S.unDriverStateX(function(n){return B(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof L.Raise)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(U(n.pendingOuts)(e(c.value0)))(function(){return t.pure(M.applicativeAff)(c.value1)})})});if(c instanceof L.Par)return d.sequential(M.parallelAff)(r.retractFreeAp(M.applicativeParAff)(r.hoistFreeAp((p=d.parallel(M.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof L.Fork)return u.bind(M.bindAff)(P(L.ForkId)(h))(function(r){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(a){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.new(!1)))(function(f){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(M.finally(F.liftEffect(M.monadEffectAff)(function(){return T.modify_(y.delete(L.ordForkId)(r))(a.forks)(),T.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(o.unlessM(C.monadEffect)(T.read(f))(T.modify_(y.insert(L.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(M.applicativeAff)(c.value1(r))})})})})});if(c instanceof L.Kill)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.forks)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(g.traverse_(M.applicativeAff)(g.foldableMaybe)(M.killFiber(H.error("Cancelled")))(y.lookup(L.ordForkId)(c.value0)(n)))(function(){return t.pure(M.applicativeAff)(c.value1)})})});if(c instanceof L.GetRef)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(h)))(function(n){return t.pure(M.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 I.RefUpdate)return F.liftEffect(M.monadEffectAff)(h.flip(T.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 I.Action)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new x.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=B,e.evalM=O,e.handleLifecycle=N,e.queueOrRun=U}(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"],C=n["Effect.Console"],M=n["Effect.Exception"],F=n["Effect.Ref"],H=n["Halogen.Aff.Driver.Eval"],T=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenQ"],x=n["Halogen.Query.Input"],I=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=E.runAff_(l.either(M.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),U=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(N){var P=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(M.error("ended"))(u)})})))})})}}},B=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=I(),i=T.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(T.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var u=H.evalM(W)(t.selfRef)(t.component.eval(new L.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 U(t.pendingQueries)(),U(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 T.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(H.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return i.input instanceof L.Receive?B(e)((r=h.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():M.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)(C.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))(T.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return M.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),C=u.identity(u.categoryFn)(o.pendingQueries),M=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=H.queueOrRun(M),g=v.void(E.functorAff),w=H.evalF(e)(A),function(n){return l(g(w(n)))}),k=(D=H.queueOrRun(C),function(n){return D(S(x.Action.create(n)))}),L=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),I=F.read(o.childrenOut)(),U=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(U)(function(e){return function(){var t=F.read(e)();return T.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(T.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:I,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(L),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(M)();F.write(new h.Just(m.Nil.value))(M)(),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(M)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(M))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return T.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(M.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=H.evalM(W)(t.selfRef)(t.component.eval(new L.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):H.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return H.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(M.error("disposed")),function(n){return E.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),T.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)(I))(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 H.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(B(n)((o=c,function(n){return r.bind(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))})}))(N)(e))();return T.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:P(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&u.refEq(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],E=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],C=n["Web.DOM.Node"],M=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],H=n["Web.HTML.HTMLElement"],T=n["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return C.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)(C.appendChild(v)(H.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),e=C.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)(C.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(C.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)(T.document)(M.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["Control.Bind"],l=n["Data.Foldable"],s=n["Data.Functor"],d=n["Data.Unit"],v=n.Effect,p=n["Effect.Aff"],m=n["Effect.Class"],g=n["Halogen.Aff.Util"],h=n["Halogen.VDom.Driver"],w=n["Web.DOM.Element"],b=n["Web.Event.Event"],y=n["Web.HTML.HTMLElement"],E=f.bind(p.bindAff)(g.selectElement("#content"))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(w.setAttribute("view-rendered")("")(y.toElement(n)))})),D=t._mainImpl;e.main=D,e.logoutE=function(n){return f.bindFlipped(v.bindEffect)((e=s.void(v.functorEffect),function(n){return e(p.launchAff(r.logout(n)))}))(b.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(o.blist(e))(d.unit)(n)))(function(){return E})})))}},e.renderAddForm=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(a.addbmark(e))(d.unit)(n)))(function(){return E})})))}},e.renderNotes=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(i.nlist(e))(d.unit)(n)))(function(){return E})})))}},e.renderNote=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(c.nnote(e))(d.unit)(n)))(function(){return E})})))}},e.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(f.bind(p.bindAff)(g.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return f.discard(f.discardUnit)(p.bindAff)(s.void(p.functorAff)(h.runUI(u.usetting(e))(d.unit)(n)))(function(){return E})})))}},e.viewRendered=E,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 39a2546e284be3948037497512ee669376b3504c..e47b727a03ccdbeef9648fd773d5ca934a4dc444 100644 GIT binary patch delta 57220 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

Y5zo4zgq#2>X~(_s(%3xkm_GM{)tblbY&NGTx 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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 exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\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})(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 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})(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 rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS);\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($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_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_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 foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\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_Apply = $PS[\"Control.Apply\"];\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 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[\"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 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[\"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[\"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[\"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 exports[\"runExcept\"] = runExcept;\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})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n 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[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\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 Foreign_Object = $PS[\"Foreign.Object\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\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 //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($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_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\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.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[\"joinWith\"] = $foreign.joinWith;\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[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\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})(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 showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS);\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($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[\"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_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"]; \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 readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\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(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n 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 LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS);\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 exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\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.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 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[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\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 mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS);\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 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[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"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 bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS);\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_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 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 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[\"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 // Generated by purs version 0.13.6\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 var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $54 = v11.value2 === v2.value2;\n if ($54) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $63 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($63) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function(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.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $43 = Data_Maybe.fromMaybe(\"\");\n return function ($44) {\n return $43(Data_Nullable.toMaybe($44));\n };\n })();\n var class_ = function ($45) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($45));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $46 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($47) {\n return Global_Unsafe.unsafeDecodeURIComponent($46($47));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $42 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($42) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($50) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($50));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(v.bm.bid > 0)(display_exists) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"Fetch\") ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_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_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 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 Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\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 236, column 17 - line 242, 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 249, column 5 - line 251, 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 203, column 3 - line 203, 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.br_, 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.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.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.br_ ]), 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.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 BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function($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 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 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 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[\"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","Eq","eq","eqUnit","eqString","eqInt","eqChar","eqBoolean","Control_Applicative","Control_Bind","Data_Eq","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","applicativeMaybe","Applicative","dictPartial","dictEq","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","ys","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","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$197","applySecond","$198","foldableMaybe","z","foldableArray","foldMapDefaultR","alaF","monoidDisj","p","Data_Bifunctor","Data_Foldable","Left","Right","functorEither","foldableEither","either","hush","bifunctorEither","Bifunctor","applyEither","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","monadExceptT","Monad","applicativeExceptT","bindExceptT","applyExceptT","$90","$91","functorExceptT","mapExceptT","ap","$92","$93","MonadThrow","$102","$103","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","monadIdentity","$0","Control_Monad_Except_Trans","Data_Identity","runExcept","$1","runExceptT","fromObject","id","stringify","JSON","empty","_lookup","no","yes","runFn4","fn","d","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","_jsonParser","fail","succ","s","cons","snoc","l1","drop","singleton","concatMap","$94","$95","replaceAll","s3","sep","joinWith","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","traverse","traversableArray","Foldable1","sequence","sequenceDefault","dictTraversable","encdecURI","encdec","_encodeURIComponent","encodeURIComponent","$19","$20","Data_String_Common","Data_Traversable","Global","$21","showIntImpl","Show","show","showInt","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","showMethod","print","alt","Alt0","Control_Alt","Control_Plus","Nil","Cons","functorList","chunkedRevMap","$copy_chunksAcc","$copy_v","$tco_var_chunksAcc","$tco_result","$tco_done","$tco_loop","chunksAcc","$copy_v1","$copy_acc","$tco_var_v1","unrolledMap","foldableList","$202","$203","$copy_b","$tco_var_b","rev","$204","$205","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","NonEmpty","dictPlus","$168","Data_List_Types","Data_NonEmpty","$169","NonEmptyList","nullable","r","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","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","$43","$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_","$44","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","$107","Data_Boolean","Data_List_NonEmpty","ForeignError","TypeMismatch","monadThrowExceptT","$108","unsafeReadTagged","otherwise","readBoolean","readString","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","Data_Argonaut_Core","Data_Argonaut_Parser","Data_Array","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","RequestContentError","ResponseBodyError","XHRError","defaultRequest","responseFormat","req","parseJSON","fromResponse","composeKleisliFlipped","$48","$47","jsonParser","addHeader","mh","hs","any","mapFlipped","fromEffectFnAff","h","reqContent","toMediaType","toResponseType","note","extractContent","eqStatusCode","moment","_app","app","_mmoment8601","just","nothing","tuple","ISO_8601","fromNow","_closeWindow","close","_setFocus","elemId","document","getElementById","focus","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","LT","GT","EQ","Data_Ordering","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","Data_Ord","Tuple","functorTuple","dictOrd","dictOrd1","eqTuple","dictEq1","Data_Tuple","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","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$87","$88","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","setHref","location","search","reload","Affjax","Affjax_StatusCode","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","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","fst","$29","snd","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","$85","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","values","comp","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","$37","$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","Foreign_Object_ST","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","$2","$3","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","unfoldrArrayImpl","fromJust","unfoldr1ArrayImpl","unfoldable1Array","unfoldr1","Data_Unfoldable1","unfoldableArray","Unfoldable10","unfoldr","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","$26","toEnumWithDefaults","take","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","fromNullableStr","fromMaybe","_loc","loc","_parseQueryString","srh","decode","srh$prime","qs","mapMaybe","kv","find","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_Component","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BLookupTitle","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","loading","b$prime","toTextarea","mmoment","mmoment8601","time","$67","display_exists","guard","ifElseH","$68","whenH","textarea","description","tags","toread","modify_","$38","$41","$42","lookupTitle","mtitle","selected","archiveUrl","destroy","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","_read","toNode","toElement","Web_HTML_HTMLElement","getHTMLElementRef","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","for_","monoidEffect","$10","$14","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","spin","outputQuery","widget","componentSlot","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","_bm","tagid","star","shtime","linkToFilterTag","userR","$73","dat","isowner","$74","slot","absurd","whenA","toggleStar","raise","markRead","whenM","setFocus","$59","$64","$65","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","shared","Etext","EisMarkdown","Eshared","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","edit_note","_edit_note","mkState","note$prime","isMarkdown","updated","destroyNote","editNote","res$prime","noteR","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","$36","$$var","initDriverState","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","$39","$40","isDuplicate","renderStateX","shouldProcessHandlers","childHandler","foreachSlot","childDS","renderStateX_","ds$prime","$51","mmore","$24","evalDriver","disposed","dispose","subsRef","$52","query","_querySelector","selector","node","querySelector","toParentNode","toDocument","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","haltWidget","halt","patchWidget","vdom","haltText","parent","patchText","haltKeyed","attrs","haltElem","eqElemSpec","ns1","ns2","$56","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","Halogen_Aff_Util","Halogen_VDom_Driver","viewRendered","selectElement","main","logout","renderElSelector","bmarks","blist","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 exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\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})(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 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})(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 rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS);\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($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_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_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 foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\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_Apply = $PS[\"Control.Apply\"];\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 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[\"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[\"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[\"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 exports[\"runExcept\"] = runExcept;\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})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n 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[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\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 Foreign_Object = $PS[\"Foreign.Object\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\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 //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($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_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\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.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[\"joinWith\"] = $foreign.joinWith;\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[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\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})(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 showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS);\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($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[\"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_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"]; \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 readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\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(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(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 LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS);\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 exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\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.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 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[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\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 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[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"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 bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS);\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_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 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 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[\"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 // Generated by purs version 0.13.6\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 var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $54 = v11.value2 === v2.value2;\n if ($54) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $63 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($63) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function(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.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 \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $43 = Data_Maybe.fromMaybe(\"\");\n return function ($44) {\n return $43(Data_Nullable.toMaybe($44));\n };\n })();\n\n // Halogen\n var class_ = function ($45) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($45));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $46 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($47) {\n return Global_Unsafe.unsafeDecodeURIComponent($46($47));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $42 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($42) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($50) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($50));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(v.bm.bid > 0)(display_exists) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 234, column 17 - line 240, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $59 = {};\n for (var $60 in v1) {\n if ({}.hasOwnProperty.call(v1, $60)) {\n $59[$60] = v1[$60];\n };\n };\n $59.loading = true;\n return $59;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 247, column 5 - line 249, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $64 = {};\n for (var $65 in v1) {\n if ({}.hasOwnProperty.call(v1, $65)) {\n $64[$65] = v1[$65];\n };\n };\n $64.loading = false;\n return $64;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 200, column 3 - line 200, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shtime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($73) {\n return Data_Maybe.Just.create(BEditField.create(f($73)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($74) {\n return Data_Maybe.Just.create(BEditSubmit.create($74));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function($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 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 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 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[\"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 03c69f271d70318f56e5e6e375f87cc492ae4c14..66142ed70c5f1e900aeb3c6d24d933fd78b550c3 100644 GIT binary patch delta 219761 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
    sJW*}P(2p-&u9{Uqk?2GIGJeMa#nDlW6W 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

    7)6nv#Z+EvRbHnN1qJEh3RuMt7E0nT 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

    Tr+^Oir&4wR#Og_CB=jN&1UvnRueckW{*#G4 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%0Dn$tr%;$rXC7XPx>>?~5$|MVFTB}3@1g%${z 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 delta 219284 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ÐPvX%PlxoJx3m+ng`v7gQe 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�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

    u~dC|uES9pmBtlgF=K?uxyzhJ5kjxq5Tg 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%0D^1%;{^^QH@bjAWRO$7)0X< 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