From 33eaa42628c7e64cec1aca9a1b3f0c6c859d4e45 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Thu, 7 Mar 2019 21:43:47 -0600 Subject: [PATCH] render conditional html in lazy thunks --- purs/src/Component/Add.purs | 18 ++-- purs/src/Component/BMark.purs | 190 +++++++++++++++++----------------- purs/src/Component/NNote.purs | 19 ++-- purs/src/Util.purs | 6 ++ static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 74426 -> 74386 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 236917 -> 236795 bytes 8 files changed, 121 insertions(+), 116 deletions(-) diff --git a/purs/src/Component/Add.purs b/purs/src/Component/Add.purs index eabcfc8..8f1b5d0 100644 --- a/purs/src/Component/Add.purs +++ b/purs/src/Component/Add.purs @@ -15,11 +15,11 @@ import Effect.Aff (Aff) import Effect.Class (liftEffect) import Globals (app', closeWindow, mmoment8601) import Halogen as H -import Halogen.HTML (HTML, br_, button, div, div_, form, input, label, p, span, table, tbody_, td, td_, text, textarea, tr_) +import Halogen.HTML (HTML, br_, button, div, form, input, label, p, span, table, tbody_, td, td_, text, textarea, tr_) import Halogen.HTML.Events (onSubmit, onValueChange, onChecked, onClick) import Halogen.HTML.Properties (autofocus, ButtonType(..), InputType(..), autocomplete, checked, for, id_, name, required, rows, title, type_, value) import Model (Bookmark) -import Util (_curQuerystring, _loc, _lookupQueryStringValue, attr, class_) +import Util (_curQuerystring, _loc, _lookupQueryStringValue, attr, class_, ifElseH, whenH) import Web.Event.Event (Event, preventDefault) import Web.HTML (window) import Web.HTML.Location (setHref) @@ -70,15 +70,19 @@ addbmark b' = render :: forall m. BState -> H.ComponentHTML BAction () m render s@{ bm, edit_bm } = - div_ [ if not s.destroyed then display_edit else display_destroyed ] + ifElseH (not s.destroyed) + display_edit + display_destroyed where - display_edit = + display_edit _ = form [ onSubmit (Just <<< BEditSubmit) ] [ table [ class_ "w-100" ] [ tbody_ [ tr_ [ td [ class_ "w1" ] [ ] - , td_ $ guard (bm.bid > 0) [ display_exists ] + , td_ [ whenH (bm.bid > 0) + display_exists + ] ] , tr_ [ td_ [ label [ for "url" ] [ text "URL" ] ] @@ -119,7 +123,7 @@ addbmark b' = ] ] - display_exists = + display_exists _ = div [ class_ "alert" ] [ text "previously saved " , span [ class_ "link f7 dib gray pr3" , title (maybe bm.time snd mmoment) ] @@ -135,7 +139,7 @@ addbmark b' = ] ] - display_destroyed = p [ class_ "red"] [text "you killed this bookmark"] + display_destroyed _ = p [ class_ "red"] [text "you killed this bookmark"] editField :: forall a. (a -> EditField) -> a -> Maybe BAction editField f = Just <<< BEditField <<< f diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index 7f6bb4e..3d07973 100644 --- a/purs/src/Component/BMark.purs +++ b/purs/src/Component/BMark.purs @@ -5,25 +5,25 @@ import Prelude hiding (div) import App (StarAction(..), destroy, editBookmark, markRead, toggleStar) import Component.Markdown as Markdown import Data.Array (drop, foldMap) +import Data.Const (Const) import Data.Lens (Lens', lens, use, (%=), (.=)) import Data.Maybe (Maybe(..), fromMaybe, isJust, maybe) import Data.Monoid (guard) import Data.Nullable (toMaybe) import Data.String (null, split, take) as S import Data.String.Pattern (Pattern(..)) +import Data.Symbol (SProxy(..)) import Data.Tuple (fst, snd) import Effect.Aff (Aff) import Globals (app', mmoment8601) import Halogen as H -import Halogen.HTML as HH import Halogen.HTML (HTML, a, br_, button, div, div_, form, input, label, span, text, textarea) +import Halogen.HTML as HH import Halogen.HTML.Events (onSubmit, onValueChange, onChecked, onClick) import Halogen.HTML.Properties (ButtonType(..), InputType(..), autocomplete, checked, for, href, id_, name, required, rows, target, title, type_, value) import Model (Bookmark) -import Data.Symbol (SProxy(..)) -import Util (class_, attr, fromNullableStr) +import Util (attr, class_, fromNullableStr, ifElseH, whenH, whenA) import Web.Event.Event (Event, preventDefault) -import Data.Const (Const) -- | UI Events data BAction @@ -55,7 +55,6 @@ type BState = , edit_bm :: Bookmark , deleteAsk:: Boolean , edit :: Boolean - , isMarkdown :: Boolean } _bm :: Lens' BState Bookmark @@ -88,111 +87,108 @@ bmark b' = , edit_bm: b , deleteAsk: false , edit: false - , isMarkdown: true } render :: BState -> H.ComponentHTML BAction ChildSlots Aff render s@{ bm, edit_bm } = div [ id_ (show bm.bid) , class_ ("bookmark w-100 mw7 pa1 mb3" <> guard bm.private " private")] $ - star <> - if s.edit - then display_edit - else display + [ whenH app.dat.isowner + star + , ifElseH s.edit + display_edit + display + ] + where - star = - guard app.dat.isowner - [ div [ class_ ("star fl pointer" <> guard bm.selected " selected") ] - [ button [ class_ "moon-gray", onClick \_ -> Just (BStar (not bm.selected)) ] [ text "✭" ] ] - ] + star _ = + div [ class_ ("star fl pointer" <> guard bm.selected " selected") ] + [ button [ class_ "moon-gray", onClick \_ -> Just (BStar (not bm.selected)) ] [ text "✭" ] ] - display = - [ div [ class_ "display" ] $ - [ a [ href bm.url, target "_blank", class_ ("link f5 lh-title" <> guard bm.toread " unread")] - [ text $ if S.null bm.title then "[no title]" else bm.title ] - , br_ - , a [ href bm.url , class_ "link f7 gray hover-blue" ] [ text bm.url ] - , a [ href (fromMaybe ("http://archive.is/" <> bm.url) (toMaybe bm.archiveUrl)) - , class_ ("link f7 gray hover-blue ml2" <> (guard (isJust (toMaybe bm.archiveUrl)) " green")) - , target "_blank", title "archive link"] - [ if isJust (toMaybe bm.archiveUrl) then text "☑" else text "☐" ] - , br_ - -- - , if s.isMarkdown - then div [ class_ "description mt1 mid-gray" ] [ HH.slot _markdown unit Markdown.component bm.description absurd ] - else div [ class_ "description mt1 mid-gray" ] (toTextarea bm.description) - , div [ class_ "tags" ] $ - guard (not (S.null bm.tags)) - map (\tag -> a [ class_ ("link tag mr1" <> guard (S.take 1 tag == ".") " private") - , href (linkToFilterTag tag) ] - [ text tag ]) - (S.split (Pattern " ") bm.tags) - , a [ class_ "link f7 dib gray w4", title (maybe bm.time snd mmoment) , href (linkToFilterSingle bm.slug) ] - [ text (maybe " " fst mmoment) ] - ] - <> links - ] + display _ = + div [ class_ "display" ] $ + [ a [ href bm.url, target "_blank", class_ ("link f5 lh-title" <> guard bm.toread " unread")] + [ text $ if S.null bm.title then "[no title]" else bm.title ] + , br_ + , a [ href bm.url , class_ "link f7 gray hover-blue" ] [ text bm.url ] + , a [ href (fromMaybe ("http://archive.is/" <> bm.url) (toMaybe bm.archiveUrl)) + , class_ ("link f7 gray hover-blue ml2" <> (guard (isJust (toMaybe bm.archiveUrl)) " green")) + , target "_blank", title "archive link"] + [ if isJust (toMaybe bm.archiveUrl) then text "☑" else text "☐" ] + , br_ + , div [ class_ "description mt1 mid-gray" ] [ HH.slot _markdown unit Markdown.component bm.description absurd ] + , div [ class_ "tags" ] $ + whenA (not (S.null bm.tags)) $ \_ -> + map (\tag -> a [ class_ ("link tag mr1" <> guard (S.take 1 tag == ".") " private") + , href (linkToFilterTag tag) ] + [ text tag ]) + (S.split (Pattern " ") bm.tags) + + , a [ class_ "link f7 dib gray w4", title (maybe bm.time snd mmoment) , href (linkToFilterSingle bm.slug) ] + [ text (maybe " " fst mmoment) ] - display_edit = - [ div [ class_ "edit_bookmark_form pa2 pt0 bg-white" ] $ - [ form [ onSubmit (Just <<< BEditSubmit) ] - [ 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" ] - , input [ type_ InputText , class_ "title w-100 mb2 pt1 f7 edit_form_input" , name "title" - , value (edit_bm.title) , onValueChange (editField Etitle) ] - , 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" - , 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" - , checked (edit_bm.private) , onChecked (editField Eprivate) ] - , text " " - , label [ for "edit_private" , class_ "mr2" ] [ text "private" ] - , text " " - , input [ type_ InputCheckbox , class_ "toread pointer" , id_ "edit_toread", name "toread" - , checked (edit_bm.toread) , onChecked (editField Etoread) ] - , text " " - , label [ for "edit_toread" ] [ text "to-read" ] + -- links + , whenH app.dat.isowner $ \_ -> + div [ class_ "edit_links di" ] + [ button [ type_ ButtonButton, onClick \_ -> Just (BEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] + , div [ class_ "delete_link di" ] + [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk true), class_ ("delete light-silver hover-blue" <> guard s.deleteAsk " dn") ] [ text "delete" ] + , span ([ class_ ("confirm red" <> guard (not s.deleteAsk) " dn") ] ) + [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk false)] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> Just BDestroy, class_ "red" ] [ text "destroy" ] + ] + ] + ] + , whenH app.dat.isowner $ \_ -> + div [ class_ "read di" ] $ + guard bm.toread + [ text "  " + , button [ onClick \_ -> Just BMarkRead, class_ "mark_read" ] [ text "mark as read"] + ] + ] + + + display_edit _ = + div [ class_ "edit_bookmark_form pa2 pt0 bg-white" ] $ + [ form [ onSubmit (Just <<< BEditSubmit) ] + [ 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" ] + , input [ type_ InputText , class_ "title w-100 mb2 pt1 f7 edit_form_input" , name "title" + , value (edit_bm.title) , onValueChange (editField Etitle) ] + , 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" + , autocomplete false, attr "autocapitalize" "off" + , value (edit_bm.tags) , onValueChange (editField Etags) ] , br_ - ] - , input [ type_ InputSubmit , class_ "mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "save" ] - , text " " - , input [ type_ InputReset , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "cancel" - , onClick \_ -> Just (BEdit false) ] ] + , div [ class_ "edit_form_checkboxes mv3"] + [ input [ type_ InputCheckbox , class_ "private pointer" , id_ "edit_private", name "private" + , checked (edit_bm.private) , onChecked (editField Eprivate) ] + , text " " + , label [ for "edit_private" , class_ "mr2" ] [ text "private" ] + , text " " + , input [ type_ InputCheckbox , class_ "toread pointer" , id_ "edit_toread", name "toread" + , 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 " " + , input [ type_ InputReset , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "cancel" + , onClick \_ -> Just (BEdit false) ] ] ] - - links = - guard app.dat.isowner - [ div [ class_ "edit_links di" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (BEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] - , div [ class_ "delete_link di" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk true), class_ ("delete light-silver hover-blue" <> guard s.deleteAsk " dn") ] [ text "delete" ] - , span ([ class_ ("confirm red" <> guard (not s.deleteAsk) " dn") ] ) - [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk false)] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick \_ -> Just BDestroy, class_ "red" ] [ text "destroy" ] - ] - ] - ] - , div [ class_ "read di" ] $ - guard bm.toread - [ text "  " - , button [ onClick \_ -> Just BMarkRead, class_ "mark_read" ] [ text "mark as read"] - ] - ] + editField :: forall a. (a -> EditField) -> a -> Maybe BAction editField f = Just <<< BEditField <<< f diff --git a/purs/src/Component/NNote.purs b/purs/src/Component/NNote.purs index 53698da..e86c9fd 100644 --- a/purs/src/Component/NNote.purs +++ b/purs/src/Component/NNote.purs @@ -21,7 +21,7 @@ import Halogen.HTML as HH import Halogen.HTML.Events (onChecked, onClick, onSubmit, onValueChange) import Halogen.HTML.Properties (ButtonType(..), InputType(..), checked, for, id_, name, rows, title, type_, value) import Model (Note) -import Util (_loc, class_, fromNullableStr) +import Util (_loc, class_, fromNullableStr, ifElseH) import Web.Event.Event (Event, preventDefault) import Web.HTML.Location (setHref) import Data.Symbol (SProxy(..)) @@ -83,15 +83,14 @@ nnote st' = render :: NState -> H.ComponentHTML NAction ChildSlots Aff render st@{ note, edit_note } = - if st.destroyed - then display_destroyed - else - if st.edit - then renderNote_edit - else renderNote + ifElseH st.destroyed + display_destroyed + (const (ifElseH st.edit + renderNote_edit + renderNote)) where - renderNote = + renderNote _ = div [ id_ (show note.id) , class_ ("note w-100 mw7 pa1 mb2")] $ [ div [ class_ "display" ] $ [ div [ class_ ("link f5 lh-title")] @@ -117,7 +116,7 @@ nnote st' = ] ] - renderNote_edit = + renderNote_edit _ = form [ onSubmit (Just <<< NEditSubmit) ] [ p [ class_ "mt2 mb1"] [ text "title:" ] , input [ type_ InputText , class_ "title w-100 mb1 pt1 f7 edit_form_input" , name "title" @@ -142,7 +141,7 @@ nnote st' = ] ] - display_destroyed = p [ class_ "red"] [text "you killed this note"] + display_destroyed _ = p [ class_ "red"] [text "you killed this note"] mmoment n = mmoment8601 n.created editField :: forall a. (a -> EditField) -> a -> Maybe NAction diff --git a/purs/src/Util.purs b/purs/src/Util.purs index 510056e..7b43351 100644 --- a/purs/src/Util.purs +++ b/purs/src/Util.purs @@ -129,6 +129,12 @@ whenC b c = if b then c else ClassName "" whenH :: forall p i. Boolean -> (Unit -> HH.HTML p i) -> HH.HTML p i whenH b k = if b then k unit else HH.text "" +whenA :: forall t. Boolean -> (Unit -> Array t) -> Array t +whenA b k = if b then k unit else [] + +ifElseH :: forall p i. Boolean -> (Unit -> HH.HTML p i) -> (Unit -> HH.HTML p i) -> HH.HTML p i +ifElseH b f k = if b then f unit else k unit + maybeH :: forall a p i. Maybe a -> (a -> HH.HTML p i) -> HH.HTML p i maybeH m k = maybe (HH.text "") k m diff --git a/static/js/app.min.js b/static/js/app.min.js index bfb9a4f..8459da2 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=V._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?V._1.killed(n.fromLeft(P))(V._2):y?V._1.failed(n.fromLeft(y))(V._2):V._1.completed(n.fromRight(w))(V._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=V._1;break;case D:W--,b=_,w=V._1,y=V._2}break;case I:for(var j in B)B.hasOwnProperty(j)&&(q=q&&B[j].rethrow,E(B[j].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],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}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return r.discard(r.discardUnit)(y.bindHalogenM)(f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof A)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(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.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["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=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}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(n){return s.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},V=function(n){return s.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=V,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])]),a=T.form([F.onSubmit(function(n){return v.Just.create(B.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_(p.guard(p.monoidArray)(n.bm.bid>0)([r]))]),T.tr_([T.td_([T.label([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),i=T.p([L.class_("red")])([A.text("you killed this bookmark")]);return T.div_([n.destroyed?i:a])},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.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 J)return r.bind(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.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 N)return d.modifying(S.monadStateHalogenM)(Q(m.strongFn))(function(){if(n.value0 instanceof P)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 x)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 U)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 R)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 O)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 W)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 156, column 17 - line 162, column 36): "+[n.value0.constructor.name])}());if(n instanceof B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(V(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 148, column 3 - line 148, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Unit"],c=(t.Effect,t["Effect.Aff"]),f=t["Effect.Class"],s=(t.Globals,t.Halogen,t["Halogen.Component"]),d=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),v=t["Halogen.HTML.Properties"],p=t["Halogen.Query"],m=t["Halogen.Query.HalogenM"],g=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=g,n.Receive=D,n.mkComponent=function(n){return s.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([v.ref(n.elRef)])([])},eval:s.mkEval({handleAction:function t(i){if(i instanceof g)return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(t){return a.bind(m.bindHalogenM)(p.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(m.bindHalogenM)(u.for_(m.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(r){return f.liftEffect(m.monadEffectHalogenM(c.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(m.applicativeHalogenM)(l.unit)})})});if(i instanceof D)return a.discard(a.discardUnit)(m.bindHalogenM)(o.modify_(m.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(g.value)});throw new Error("Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): "+[i.constructor.name])},handleQuery:s.defaultEval.handleQuery,receive:function(n){return i.Just.create(D.create(n))},initialize:new i.Just(g.value),finalize:s.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Data.Const"],t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],t.Prelude,e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=t["Data.Array"],c=(t["Data.Const"],t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Ord"],w=t["Data.Profunctor.Strong"],y=t["Data.Semigroup"],E=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),C=t["Data.String.Common"],A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,k=(t.Halogen,t["Halogen.Component"]),P=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],U=t["Halogen.HTML.Elements"],R=t["Halogen.HTML.Events"],O=t["Halogen.HTML.Properties"],W=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],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}(),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}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=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}(),nn=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),en=function(){function n(){}return n.value=new n,n}(),tn=A.SProxy.value,rn=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit,isMarkdown:n.isMarkdown}}})(n)},an=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,isMarkdown:n.isMarkdown}}})(n)},on=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,isMarkdown:n.isMarkdown}}})(n)};n.BStar=K,n.BDeleteAsk=X,n.BDestroy=Y,n.BEdit=Z,n.BEditField=$,n.BEditSubmit=nn,n.BMarkRead=en,n.Eurl=q,n.Etitle=J,n.Edescription=Q,n.Etags=V,n.Eprivate=j,n.Etoread=z,n.BNotifyRemove=G,n._bm=on,n._edit_bm=rn,n._edit=an,n._markdown=tn,n.bmark=function(n){var t,p=I["app'"](F.unit);return k.mkComponent({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1,isMarkdown:!0})),render:function(n){var e,t,a=D.guard(D.monoidArray)(p.dat.isowner)([U.div([N.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([U.button([N.class_("moon-gray"),R.onClick(function(e){return new g.Just(new K(!n.bm.selected))})])([x.text("✭")])])]),o=I.mmoment8601(n.bm.time),f=D.guard(D.monoidArray)(p.dat.isowner)([U.div([N.class_("edit_links di")])([U.button([O.type_(x.isPropButtonType)(u.ButtonButton.value),R.onClick(function(n){return new g.Just(new Z(!0))}),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),U.div([N.class_("delete_link di")])([U.button([O.type_(x.isPropButtonType)(u.ButtonButton.value),R.onClick(function(n){return new g.Just(new X(!0))}),N.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),U.span([N.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([U.button([O.type_(x.isPropButtonType)(u.ButtonButton.value),R.onClick(function(n){return new g.Just(new X(!1))})])([x.text("cancel / ")]),U.button([O.type_(x.isPropButtonType)(u.ButtonButton.value),R.onClick(function(n){return new g.Just(Y.value)}),N.class_("red")])([x.text("destroy")])])])]),U.div([N.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([x.text("  "),U.button([R.onClick(function(n){return new g.Just(en.value)}),N.class_("mark_read")])([x.text("mark as read")])]))]),d=function(n){return N.fromNullableStr(p.userR)+"/t:"+n},v=function(n){return function(e){return g.Just.create($.create(n(e)))}},m=[U.div([N.class_("edit_bookmark_form pa2 pt0 bg-white")])([U.form([R.onSubmit(function(n){return g.Just.create(nn.create(n))})])([U.div_([x.text("url")]),U.input([O.type_(x.isPropInputType)(i.InputUrl.value),N.class_("url w-100 mb2 pt1 f7 edit_form_input"),O.required(!0),O.name("url"),O.value(n.edit_bm.url),R.onValueChange(v(q.create))]),U.br_,U.div_([x.text("title")]),U.input([O.type_(x.isPropInputType)(i.InputText.value),N.class_("title w-100 mb2 pt1 f7 edit_form_input"),O.name("title"),O.value(n.edit_bm.title),R.onValueChange(v(J.create))]),U.br_,U.div_([x.text("description")]),U.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),O.name("description"),O.rows(5),O.value(n.edit_bm.description),R.onValueChange(v(Q.create))]),U.br_,U.div([O.id_("tags_input_box")])([U.div_([x.text("tags")]),U.input([O.type_(x.isPropInputType)(i.InputText.value),N.class_("tags w-100 mb1 pt1 f7 edit_form_input"),O.name("tags"),O.autocomplete(!1),N.attr("autocapitalize")("off"),O.value(n.edit_bm.tags),R.onValueChange(v(V.create))]),U.br_]),U.div([N.class_("edit_form_checkboxes mv3")])([U.input([O.type_(x.isPropInputType)(i.InputCheckbox.value),N.class_("private pointer"),O.id_("edit_private"),O.name("private"),O.checked(n.edit_bm.private),R.onChecked(v(j.create))]),x.text(" "),U.label([O.for("edit_private"),N.class_("mr2")])([x.text("private")]),x.text(" "),U.input([O.type_(x.isPropInputType)(i.InputCheckbox.value),N.class_("toread pointer"),O.id_("edit_toread"),O.name("toread"),O.checked(n.edit_bm.toread),R.onChecked(v(z.create))]),x.text(" "),U.label([O.for("edit_toread")])([x.text("to-read")]),U.br_]),U.input([O.type_(x.isPropInputType)(i.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),O.value("save")]),x.text(" "),U.input([O.type_(x.isPropInputType)(i.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),O.value("cancel"),R.onClick(function(n){return new g.Just(new Z(!1))})])])])],w=[U.div([N.class_("display")])(y.append(y.semigroupArray)([U.a([O.href(n.bm.url),O.target("_blank"),N.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([x.text(C.null(n.bm.title)?"[no title]":n.bm.title)]),U.br_,U.a([O.href(n.bm.url),N.class_("link f7 gray hover-blue")])([x.text(n.bm.url)]),U.a([O.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),N.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),O.target("_blank"),O.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?x.text("☑"):x.text("☐")]),U.br_,n.isMarkdown?U.div([N.class_("description mt1 mid-gray")])([P.slot()(new A.IsSymbol(function(){return"markdown"}))(h.ordUnit)(tn)(F.unit)(r.component)(n.bm.description)(H.absurd)]):U.div([N.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[U.br_,x.text(n)]})(C.split("\n")(t))))),U.div([N.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!C.null(n.bm.tags))(s.map(s.functorArray))(function(n){return U.a([N.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),O.href(d(n))])([x.text(n)])})(C.split(" ")(n.bm.tags))),U.a([N.class_("link f7 dib gray w4"),O.title(g.maybe(n.bm.time)(T.snd)(o)),O.href((e=n.bm.slug,N.fromNullableStr(p.userR)+"/b:"+e))])([x.text(g.maybe(" ")(T.fst)(o))])])(f))];return U.div([O.id_(E.show(E.showInt)(n.bm.bid)),N.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(y.append(y.semigroupArray)(a)(n.edit?m:w))},eval:k.mkEval({handleAction:function(n){if(n instanceof K)return a.bind(W.bindHalogenM)(d.use(W.monadStateHalogenM)(on(v.strongForget)))(function(t){return a.discard(a.discardUnit)(W.bindHalogenM)(L.liftAff(W.monadAffHalogenM(L.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(W.bindHalogenM)(m.modifying(W.monadStateHalogenM)(on(w.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(W.monadStateHalogenM)(rn(w.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 X)return o.modify_(W.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(W.bindHalogenM)(d.use(W.monadStateHalogenM)(on(v.strongForget)))(function(n){return a.discard(a.discardUnit)(W.bindHalogenM)(s.void(W.functorHalogenM)(L.liftAff(W.monadAffHalogenM(L.monadAffAff))(e.destroy(n.bid))))(function(){return W.raise(G.value)})});if(n instanceof en)return a.bind(W.bindHalogenM)(d.use(W.monadStateHalogenM)(on(v.strongForget)))(function(n){return a.discard(a.discardUnit)(W.bindHalogenM)(s.void(W.functorHalogenM)(L.liftAff(W.monadAffHalogenM(L.monadAffAff))(e.markRead(n.bid))))(function(){return m.modifying(W.monadStateHalogenM)(on(w.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 Z)return a.bind(W.bindHalogenM)(d.use(W.monadStateHalogenM)(on(v.strongForget)))(function(e){return a.discard(a.discardUnit)(W.bindHalogenM)(m.assign(W.monadStateHalogenM)(rn(w.strongFn))(e))(function(){return m.assign(W.monadStateHalogenM)(an(w.strongFn))(n.value0)})});if(n instanceof $)return m.modifying(W.monadStateHalogenM)(rn(w.strongFn))(function(){if(n.value0 instanceof q)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 J)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof V)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 z)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 240, column 17 - line 246, column 36): "+[n.value0.constructor.name])}());if(n instanceof nn)return a.discard(a.discardUnit)(W.bindHalogenM)(_.liftEffect(W.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return a.bind(W.bindHalogenM)(d.use(W.monadStateHalogenM)(rn(v.strongForget)))(function(n){return a.discard(a.discardUnit)(W.bindHalogenM)(s.void(W.functorHalogenM)(L.liftAff(W.monadAffHalogenM(L.monadAffAff))(e.editBookmark(n))))(function(){return a.discard(a.discardUnit)(W.bindHalogenM)(m.assign(W.monadStateHalogenM)(on(w.strongFn))(n))(function(){return m.assign(W.monadStateHalogenM)(an(w.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 207, column 3 - line 207, column 84): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,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=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.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["Component.BList"]=t["Component.BList"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],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}(),j=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}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=A.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=V,n.EisMarkdown=j,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return k.mmoment8601(n.created)},a=R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(e))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(t(n.note)))])([U.text(b.maybe(" ")(T.fst)(t(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])])),o=function(n){return function(e){return b.Just.create(G.create(n(e)))}},u=R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(o(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(o(V.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(o(j.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])]),f=R.p([B.class_("red")])([U.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 161, column 19 - line 164, column 44): "+[n.value0.constructor.name])}());if(n instanceof Y)return u.modify_(N.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 187, column 5 - line 195, column 22): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 156, column 3 - line 156, column 77): "+[n.constructor.name])},handleQuery:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.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(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.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 P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}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 l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(n))(),{machine:r,node:c,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:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},r.getResponse=function(n){return n.response}),function(n,e){return function(t,a){var o=r.newXHR(),u=r.fixupUrl(e.url);if(o.open(e.method||"GET",u,!0,e.username,e.password),e.headers)try{for(var i,l=0;null!=(i=e.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(f){t(f)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return o.onerror=c("AJAX request failed"),o.ontimeout=c("AJAX request timed out"),o.onload=function(){a({status:o.status,statusText:o.statusText,headers:o.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=V._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?V._1.killed(n.fromLeft(P))(V._2):y?V._1.failed(n.fromLeft(y))(V._2):V._1.completed(n.fromRight(w))(V._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=V._1;break;case D:W--,b=_,w=V._1,y=V._2}break;case I:for(var j in B)B.hasOwnProperty(j)&&(q=q&&B[j].rethrow,E(B[j].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=t["Data.Unit"],d=t.Effect,v=t["Global.Unsafe"],p=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),m=t["Halogen.HTML.Properties"],g=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),D=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),b=t["Web.HTML.Window"],h=function(n){var e,t=function(n){return v.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},w=e.bindFlipped(d.bindEffect)(b.location)(g.window);n.class_=function(n){return m.class_(p.ClassName(n))},n.attr=function(n){return m.attr(n)},n._loc=w,n._curQuerystring=function(){var n=w(),e=D.search(n)();return h(e)},n._parseQueryString=h,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.whenH=function(n){return function(e){return n?e(s.unit):p.text("")}},n.whenA=function(n){return function(e){return n?e(s.unit):[]}},n.ifElseH=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],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}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return r.discard(r.discardUnit)(y.bindHalogenM)(f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof A)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(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.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["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=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}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(n){return s.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},V=function(n){return s.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=V,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=function(t){return T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([F.onSubmit(function(n){return v.Just.create(B.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_([L.whenH(n.bm.bid>0)(r)])]),T.tr_([T.td_([T.label([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([A.text("you killed this bookmark")])})},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.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 J)return r.bind(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.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 N)return d.modifying(S.monadStateHalogenM)(Q(m.strongFn))(function(){if(n.value0 instanceof P)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 x)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 U)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 R)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 O)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 W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}());if(n instanceof B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(V(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Unit"],c=(t.Effect,t["Effect.Aff"]),f=t["Effect.Class"],s=(t.Globals,t.Halogen,t["Halogen.Component"]),d=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),v=t["Halogen.HTML.Properties"],p=t["Halogen.Query"],m=t["Halogen.Query.HalogenM"],g=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=g,n.Receive=D,n.mkComponent=function(n){return s.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([v.ref(n.elRef)])([])},eval:s.mkEval({handleAction:function t(i){if(i instanceof g)return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(t){return a.bind(m.bindHalogenM)(p.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(m.bindHalogenM)(u.for_(m.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(r){return f.liftEffect(m.monadEffectHalogenM(c.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(m.applicativeHalogenM)(l.unit)})})});if(i instanceof D)return a.discard(a.discardUnit)(m.bindHalogenM)(o.modify_(m.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(g.value)});throw new Error("Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): "+[i.constructor.name])},handleQuery:s.defaultEval.handleQuery,receive:function(n){return i.Just.create(D.create(n))},initialize:new i.Just(g.value),finalize:s.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Data.Const"],t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],t.Prelude,e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Const"],t["Data.Eq"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=t["Data.Nullable"],D=t["Data.Ord"],b=t["Data.Profunctor.Strong"],h=(t["Data.Semigroup"],t["Data.Show"]),w=(t["Data.String"],t["Data.String.CodePoints"]),y=t["Data.String.Common"],E=(t["Data.String.Pattern"],t["Data.Symbol"]),M=t["Data.Tuple"],C=t["Data.Unit"],A=t["Data.Void"],T=t["Effect.Aff"],F=t["Effect.Aff.Class"],H=t["Effect.Class"],S=t.Globals,L=(t.Halogen,t["Halogen.Component"]),_=t["Halogen.HTML"],I=t["Halogen.HTML.Core"],k=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],x=t["Halogen.HTML.Properties"],U=t["Halogen.Query.HalogenM"],R=(t.Model,t.Prelude,t.Util),O=t["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),$=E.SProxy.value,nn=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},en=function(n){return d.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},tn=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=j,n.BDeleteAsk=z,n.BDestroy=G,n.BEdit=K,n.BEditField=X,n.BEditSubmit=Y,n.BMarkRead=Z,n.Eurl=W,n.Etitle=N,n.Edescription=B,n.Etags=q,n.Eprivate=J,n.Etoread=Q,n.BNotifyRemove=V,n._bm=tn,n._edit_bm=nn,n._edit=en,n._markdown=$,n.bmark=function(n){var t,d=S["app'"](C.unit);return L.mkComponent({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e=S.mmoment8601(n.bm.time),t=function(n){return R.fromNullableStr(d.userR)+"/t:"+n},a=function(n){return function(e){return p.Just.create(X.create(n(e)))}};return k.div([x.id_(h.show(h.showInt)(n.bm.bid)),R.class_("bookmark w-100 mw7 pa1 mb3"+m.guard(m.monoidString)(n.bm.private)(" private"))])([R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("star fl pointer"+m.guard(m.monoidString)(n.bm.selected)(" selected"))])([k.button([R.class_("moon-gray"),P.onClick(function(e){return new p.Just(new j(!n.bm.selected))})])([I.text("✭")])])}),R.ifElseH(n.edit)(function(e){return k.div([R.class_("edit_bookmark_form pa2 pt0 bg-white")])([k.form([P.onSubmit(function(n){return p.Just.create(Y.create(n))})])([k.div_([I.text("url")]),k.input([x.type_(I.isPropInputType)(i.InputUrl.value),R.class_("url w-100 mb2 pt1 f7 edit_form_input"),x.required(!0),x.name("url"),x.value(n.edit_bm.url),P.onValueChange(a(W.create))]),k.br_,k.div_([I.text("title")]),k.input([x.type_(I.isPropInputType)(i.InputText.value),R.class_("title w-100 mb2 pt1 f7 edit_form_input"),x.name("title"),x.value(n.edit_bm.title),P.onValueChange(a(N.create))]),k.br_,k.div_([I.text("description")]),k.textarea([R.class_("description w-100 mb1 pt1 f7 edit_form_input"),x.name("description"),x.rows(5),x.value(n.edit_bm.description),P.onValueChange(a(B.create))]),k.br_,k.div([x.id_("tags_input_box")])([k.div_([I.text("tags")]),k.input([x.type_(I.isPropInputType)(i.InputText.value),R.class_("tags w-100 mb1 pt1 f7 edit_form_input"),x.name("tags"),x.autocomplete(!1),R.attr("autocapitalize")("off"),x.value(n.edit_bm.tags),P.onValueChange(a(q.create))]),k.br_]),k.div([R.class_("edit_form_checkboxes mv3")])([k.input([x.type_(I.isPropInputType)(i.InputCheckbox.value),R.class_("private pointer"),x.id_("edit_private"),x.name("private"),x.checked(n.edit_bm.private),P.onChecked(a(J.create))]),I.text(" "),k.label([x.for("edit_private"),R.class_("mr2")])([I.text("private")]),I.text(" "),k.input([x.type_(I.isPropInputType)(i.InputCheckbox.value),R.class_("toread pointer"),x.id_("edit_toread"),x.name("toread"),x.checked(n.edit_bm.toread),P.onChecked(a(Q.create))]),I.text(" "),k.label([x.for("edit_toread")])([I.text("to-read")]),k.br_]),k.input([x.type_(I.isPropInputType)(i.InputSubmit.value),R.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("save")]),I.text(" "),k.input([x.type_(I.isPropInputType)(i.InputReset.value),R.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("cancel"),P.onClick(function(n){return new p.Just(new K(!1))})])])])})(function(a){return k.div([R.class_("display")])([k.a([x.href(n.bm.url),x.target("_blank"),R.class_("link f5 lh-title"+m.guard(m.monoidString)(n.bm.toread)(" unread"))])([I.text(y.null(n.bm.title)?"[no title]":n.bm.title)]),k.br_,k.a([x.href(n.bm.url),R.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),k.a([x.href(p.fromMaybe("http://archive.is/"+n.bm.url)(g.toMaybe(n.bm.archiveUrl))),R.class_("link f7 gray hover-blue ml2"+m.guard(m.monoidString)(p.isJust(g.toMaybe(n.bm.archiveUrl)))(" green")),x.target("_blank"),x.title("archive link")])([p.isJust(g.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),k.br_,k.div([R.class_("description mt1 mid-gray")])([_.slot()(new E.IsSymbol(function(){return"markdown"}))(D.ordUnit)($)(C.unit)(r.component)(n.bm.description)(A.absurd)]),k.div([R.class_("tags")])(R.whenA(!y.null(n.bm.tags))(function(e){return c.map(c.functorArray)(function(n){return k.a([R.class_("link tag mr1"+m.guard(m.monoidString)("."===w.take(1)(n))(" private")),x.href(t(n))])([I.text(n)])})(y.split(" ")(n.bm.tags))})),k.a([R.class_("link f7 dib gray w4"),x.title(p.maybe(n.bm.time)(M.snd)(e)),x.href((o=n.bm.slug,R.fromNullableStr(d.userR)+"/b:"+o))])([I.text(p.maybe(" ")(M.fst)(e))]),R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("edit_links di")])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new K(!0))}),R.class_("edit light-silver hover-blue")])([I.text("edit  ")]),k.div([R.class_("delete_link di")])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new z(!0))}),R.class_("delete light-silver hover-blue"+m.guard(m.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),k.span([R.class_("confirm red"+m.guard(m.monoidString)(!n.deleteAsk)(" dn"))])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new z(!1))})])([I.text("cancel / ")]),k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(G.value)}),R.class_("red")])([I.text("destroy")])])])])}),R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("read di")])(m.guard(m.monoidArray)(n.bm.toread)([I.text("  "),k.button([P.onClick(function(n){return new p.Just(Z.value)}),R.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:L.mkEval({handleAction:function(n){if(n instanceof j)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(t){return a.discard(a.discardUnit)(U.bindHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(v.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return v.modifying(U.monadStateHalogenM)(nn(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 G)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof Z)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.markRead(n.bid))))(function(){return v.modifying(U.monadStateHalogenM)(tn(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 K)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(v.assign(U.monadStateHalogenM)(nn(b.strongFn))(e))(function(){return v.assign(U.monadStateHalogenM)(en(b.strongFn))(n.value0)})});if(n instanceof X)return v.modifying(U.monadStateHalogenM)(nn(b.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 N)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 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 Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 236, column 17 - line 242, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(nn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.editBookmark(n))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(v.assign(U.monadStateHalogenM)(tn(b.strongFn))(n))(function(){return v.assign(U.monadStateHalogenM)(en(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 203, column 3 - line 203, column 84): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,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=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.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["Component.BList"]=t["Component.BList"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],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}(),j=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}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=A.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=V,n.EisMarkdown=j,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e=function(n){return k.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(G.create(n(e)))}};return B.ifElseH(n.destroyed)(function(n){return R.p([B.class_("red")])([U.text("you killed this note")])})(d.const(B.ifElseH(n.edit)(function(e){return R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(t(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(t(V.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(t(j.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])])})(function(t){return R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((a=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(a))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(e(n.note)))])([U.text(b.maybe(" ")(T.fst)(e(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])]));var a})))},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 160, column 19 - line 163, column 44): "+[n.value0.constructor.name])}());if(n instanceof Y)return u.modify_(N.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 22): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 155, column 3 - line 155, column 77): "+[n.constructor.name])},handleQuery:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.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(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.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 P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}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 l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(n))(),{machine:r,node:c,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:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); },{"moment":"a2/B","marked":"3F7m","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index a833985b186ebabe39432d6684937f926ca9f732..a4e798594f6b96336bbabca633aa3a69a199b363 100644 GIT binary patch delta 62006 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%0AN9OB_xcg8uUN0B4@o+J~cBNsQimmcY(E0uL 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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: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

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

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\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[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var 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[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(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 (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var 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 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n 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[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.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.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = function ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\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 ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\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[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var 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 ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var 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[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_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_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\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[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \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 ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\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[\"HalogenM\"] = HalogenM;\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[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\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 ($45) {\n return f($45);\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 ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\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 73, column 7 - line 73, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.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 var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n 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[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var 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 v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\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: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\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 v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, 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 v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\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 $84 = v === v1;\n if ($84) {\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 v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\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 v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\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 v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\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 v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\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 v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\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 v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\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 exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \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 $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bifunctor_Wrap = PS[\"Data.Bifunctor.Wrap\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($28) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($28));\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(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(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[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 189, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var 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 $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\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 v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\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[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\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 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\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 ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\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[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"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[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.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 class_ = function ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\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_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\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[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\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 ($23) {\n return Data_Maybe.Just.create(UEditField.create(f($23)));\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 (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\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 (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\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[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\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 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 };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(BEditField.create(f($59)));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\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 (v1) {\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 (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(BEditSubmit.create($60));\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_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.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_([ 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\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.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 $30 = v.bm.bid > 0;\n if ($30) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $31 = !v.destroyed;\n if ($31) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $35 = {};\n for (var $36 in v1) {\n if ({}.hasOwnProperty.call(v1, $36)) {\n $35[$36] = v1[$36];\n };\n };\n $35.deleteAsk = v.value0;\n return $35;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $40 = {};\n for (var $41 in v2) {\n if ({}.hasOwnProperty.call(v2, $41)) {\n $40[$41] = v2[$41];\n };\n };\n $40.destroyed = true;\n return $40;\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 156, column 17 - line 162, 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 148, column 3 - line 148, 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[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_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 Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\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 Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_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 Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \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 (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(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 $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): \" + [ 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 ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Data_Const = PS[\"Data.Const\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Prelude = PS[\"Prelude\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_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_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var 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 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 isMarkdown: v.isMarkdown\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 isMarkdown: v.isMarkdown\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 isMarkdown: v.isMarkdown\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 isMarkdown: true\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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\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.deleteAsk = v.value0;\n return $41;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 240, column 17 - line 246, 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 207, column 3 - line 207, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\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 (v1) {\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 (v1) {\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 (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($66) {\n return Data_Maybe.Just.create(BEditField.create(f($66)));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($67) {\n return Data_Maybe.Just.create(BEditSubmit.create($67));\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.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.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 (v1) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $60 = Data_String_Common[\"null\"](v.bm.title);\n if ($60) {\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 $61 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($61) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, (function () {\n if (v.isMarkdown) {\n return 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) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.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[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"_markdown\"] = _markdown;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\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 ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\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[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var 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 (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.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[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_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 = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop() {\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 render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $30 = Data_String_Common[\"null\"](v.note.title);\n if ($30) {\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_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\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 (v1) {\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 (v1) {\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 (v1) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(NEditField.create(f($59)));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(NEditSubmit.create($60));\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.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 (v1) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var 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 created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 161, column 19 - line 164, column 44): \" + [ 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 $42 = {};\n for (var $43 in v1) {\n if ({}.hasOwnProperty.call(v1, $43)) {\n $42[$43] = v1[$43];\n };\n };\n $42.deleteAsk = v.value0;\n return $42;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $47 = {};\n for (var $48 in v2) {\n if ({}.hasOwnProperty.call(v2, $48)) {\n $47[$48] = v2[$48];\n };\n };\n $47.destroyed = true;\n return $47;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $56 = v1.id === 0;\n if ($56) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 187, column 5 - line 195, column 22): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 156, column 3 - line 156, column 77): \" + [ v.constructor.name ]);\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[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = 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 v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = 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: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad = 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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_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 Prelude = PS[\"Prelude\"];\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 (v1) {\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))(v1));\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 54): \" + [ 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 (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var 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 (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\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 (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\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)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.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 (v6) {\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(v4.subscriptions))))(function (v7) {\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)(v2))(v7))(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(v6)))))(function (v8) {\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)(v2)(done)))(v4.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)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\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 (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(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 ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\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 (v2) {\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)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\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)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\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(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\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 (v3) {\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)(v3)))(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[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_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 Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\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 ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\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 ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\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 (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.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(v))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var 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 v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n 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 v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\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 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): \" + [ v3.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 v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\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: v3,\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(v2),\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)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n 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 v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\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 Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(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 ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\n })(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_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 Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = 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 v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\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 v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), 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 v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), 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 v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 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 (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/lib/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["root","block","newline","code","fences","noop","hr","heading","nptable","blockquote","list","html","def","table","lheading","paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","lexer","prototype","token","top","next","loose","cap","bull","b","listStart","listItems","t","space","i","tag","l","isordered","istask","ischecked","exec","substring","length","push","type","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","indexOf","RegExp","smartLists","slice","join","charAt","undefined","task","checked","sanitize","pre","sanitizer","toLowerCase","href","title","Error","charCodeAt","inline","escape","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","_","n","String","fromCharCode","parseInt","regex","opt","name","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","resolveUrl","baseUrls","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","out","prevCapZero","inLink","inRawBlock","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","parser","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","hasOwnProperty","originalSlug","obj","target","key","arguments","call","tableRow","count","offset","str","curr","splice","c","invert","suffLen","currChar","substr","callback","pending","done","err","message","setOptions","getDefaults","inlineLexer","module","exports","define","amd","window","global","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","Item","array","nextTick","args","Array","apply","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","require","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","urllib","u","protocol","hostname","format","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msg","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","map","responseType","withCredentials","send","error","cancelErrback","cancelCallback","abort","fromObject","id","x","stringify","JSON","refEq","r1","r2","boolConj","b1","b2","boolDisj","boolNot","$foreign","SProxy","reflectSymbol","dict","unit","showIntImpl","unsafeGet","label","rec","RLProxy","Show","show","showInt","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","a","dictHeytingAlgebra","f","g","v","spin","$copy_v","$tco_result","Eq","eq","eqUnit","v1","eqString","eqInt","eqChar","eqBoolean","Semigroupoid","compose","semigroupoidFn","Control_Semigroupoid","Category","Semigroupoid0","identity","categoryFn","unsafeCompareImpl","lt","gt","y","concatString","s1","s2","concatArray","xs","ys","Semigroup","append","semigroupString","semigroupArray","Data_Eq","LT","GT","EQ","Data_Ordering","unsafeCompare","intSub","intAdd","intMul","Semiring","add","mul","one","zero","semiringInt","Data_Semiring","Ring","Semiring0","sub","ringInt","Data_Ord_Unsafe","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","runFn4","fn","d","arrayMap","arr","result","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","Functor0","alt","arrayApply","fs","k","Control_Category","Data_Functor","Apply","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","constructor","arrayBind","Bind","bind","Discard","discard","bindArray","bindFlipped","dictBind","flip","discardUnit","m","Control_Applicative","Control_Bind","Applicative0","Bind1","dictMonad","mb","unless","Alt0","empty","topInt","bottomInt","topChar","bottomChar","Data_Ord","Bounded","Ord0","bottom","boundedInt","boundedChar","intDegree","min","abs","intDiv","floor","intMod","yy","Data_Ring","CommutativeRing","Ring0","commutativeRingInt","Data_CommutativeRing","EuclideanRing","CommutativeRing0","degree","div","mod","euclideanRingInt","Data_Boolean","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","Control_Alt","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","dictPartial","dictEq","_lookup","no","yes","cons","snoc","l1","xss","s","drop","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$80","Data_Maybe","Data_Newtype","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$195","applySecond","foldableMaybe","z","foldMapDefaultR","foldableArray","alaF","monoidDisj","p","Data_Bifunctor","Left","Right","functorEither","bifunctorEither","Bifunctor","applyEither","Control_Monad","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","Applicative","monadIdentity","Monad","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","ap","liftA1","new","read","ref","state","write","Effect","modify","s$prime","unsafePartial","crashWith","Partial","Effect_Ref","Loop","Done","MonadRec","Monad0","tailRecM","monadRecEffect","fromDone","Tuple","value1","functorTuple","eqTuple","dictEq1","dictOrd","dictOrd1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","Unfoldable1","unfoldr1","unfoldable1Array","Data_Unfoldable1","Unfoldable","Unfoldable10","unfoldr","unfoldableArray","unsafeCoerce","singleton","concatMap","$114","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","s3","replaceAll","sep","joinWith","unsafeStringify","unsafeDecodeURIComponent","unsafeEncodeURIComponent","encodeURIComponent","encodePart","Data_String_Common","Global_Unsafe","toArray","$14","MediaType","newtypeMediaType","Data_Argonaut_Core","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","Data_MediaType","Accept","ContentType","RequestHeader","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","throwException","$1","Data_Either","catchError","throwError","MonadThrow0","dictMonadError","$21","dictMonadState","lift","liftEffect","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","applicativeExceptT","bindExceptT","applyExceptT","either","$97","$98","MonadThrow","$102","Control_Monad_Except_Trans","Data_Identity","$0","runExceptT","Control_Plus","NonEmpty","dictPlus","Data_Foldable","Nil","Cons","foldableList","$174","go","$copy_b","$tco_var_b","$tco_done","$tco_loop","rev","$175","functorList","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","$copy_acc","Data_List_Types","$tco_var_acc","Data_NonEmpty","$165","NonEmptyList","Data_List_NonEmpty","ForeignError","TypeMismatch","fail","$107","monadThrowExceptT","unsafeReadTagged","otherwise","readBoolean","readString","ResponseFormatError","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","parallel","sequential","Applicative1","Control_Alternative","Control_Parallel_Class","parTraverse_","dictParallel","$17","$18","_jsonParser","succ","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","unCustomMethod","showMethod","print","nullable","r","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","generalBracket","acquire","_makeFiber","_sequential","unsafePerformEffect","Control_Monad_Rec_Class","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","Canceler","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","bracket","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","MonadEffect","effectCanceler","$50","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","runAff","$52","parallelAff","Parallel","applicativeParAff","$54","monadRecAff","$49","fin","Effect_Aff","$4","$5","k2","$6","$7","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","Data_Argonaut_Parser","Data_Array","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","defaultRequest","responseFormat","req","parseJSON","reqContent","fromResponse$prime","composeKleisliFlipped","$67","$66","jsonParser","addHeader","mh","hs","any","req$prime","h","toMediaType","toResponseType","fromEffectFnAff","runExcept","moment","_app","app","_mmoment8601","just","nothing","ISO_8601","fromNow","_closeWindow","close","unsafeReadPropImpl","readProp","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","Record","Record_Builder","Type_Data_RowList","WriteForeign","writeImpl","WriteForeignFields","writeImplFields","writeForeignString","writeForeignInt","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$85","$87","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","_querySelector","selector","node","querySelector","qs","$3","eventListener","event","_currentTarget","currentTarget","preventDefault","toCharCode","Data_Bounded","Enum","pred","BoundedEnum","Bounded0","Enum1","cardinality","fromEnum","toEnum","defaultSucc","toEnum$prime","fromEnum$prime","defaultPred","charToEnum","enumChar","boundedEnumChar","dictBoundedEnum","low","high","_read","removeAttribute","element","toNode","toElement","toParentNode","toDocument","location","setHref","search","reload","document","win","Affjax","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","Forget","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","view","viewOn","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","Coyoneda","coyoneda","fi","functorCoyoneda","$84","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_v1","$copy_v2","$tco_var_v1","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","Lift","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","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","$118","freeApply","$119","$120","dictMonadRec","runExpF","concatF","toView","$127","unChildQueryBox","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","$104","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","fa","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","me","monadRecFreeT","fuseWithL","dictFunctor2","zap","gs","fuseWith","lift2","functorAwait","rmap","bifunctorEmit","functorEmit","o","liftFreeT","runFreeT","$186","recv","monadTransFreeT","voidLeft","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","take","put","$11","RefUpdate","Action","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$132","liftF","monadEffectHalogenM","dictMonadEffect","$135","functorHalogenM","bindHalogenM","applicativeHalogenM","dictMonadAff","$136","Initialize","Finalize","Receive","Query","Step","unStep","mkStep","extract","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$45","graft","bifunctorGraft","$47","$48","runGraft","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","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","getEffProp","_parentNode","_nextSibling","node1","node2","parent","appendChild","$2","Foreign_Object_ST","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","Halogen_VDom_Machine","Halogen_VDom_Types","Halogen_VDom_Util","Web_DOM_Element","haltWidget","halt","widget","patchWidget","vdom","res$prime","haltText","patchText","nextState","haltKeyed","children","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","onThis","patchKeyed","ix$prime","v5","buildWidget","w","buildText","buildKeyed","name1","as1","ch1","buildAttributes","buildElem","child","spec","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","unsafeEqThunk","renderThunk","buildVDom","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","unCoyoneda","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","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","onThese","v11","$61","elVal","$70","onThat","renderProp","ps1","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","$35","renderOnOff","isPropInt","isPropInputType","$40","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","$26","dictIsProp","Halogen_HTML_Core","Halogen_Query_Input","$10","mel","prop","required","rows","id_","$$for","autofocus","$13","form","span","tbody","tbody_","td","td_","tr","tr_","div_","button","br_","es","Halogen_Component","outputQuery","slot","componentSlot","Foreign_Index","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onSubmit","addForeignPropHandler","reader","composeKleisli","onChecked","change","onValueChange","click","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","toCodePointArray","$53","toEnumWithDefaults","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","_parseQueryString","srh","decode","srh$prime","mapMaybe","kv","_loc","$60","class_","find","$63","$59","fromMaybe","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","$23","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","_bm","b$prime","toTextarea","mmoment","mmoment8601","time","display_exists","onClick","guard","ifElseH","$62","whenH","textarea","description","autocomplete","tags","toread","modify_","$38","destroy","$42","$43","selected","archiveUrl","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","Web_HTML_HTMLElement","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","getHTMLElementRef","for_","$12","$16","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","mkState","linkToFilterTag","fromNullableStr","userR","dat","isowner","$71","absurd","whenA","toggleStar","raise","markRead","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_edit_note","note$prime","isMarkdown","updated","$44","destroyNote","editNote","$57","noteR","MonadFork","Functor1","fork","suspend","monadForkAff","warn","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","v6","v7","v8","v9","ds","refs","childrenIn","childrenOut","selfRef","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","lifecycleHandlers","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Control_Parallel","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Query_EventSource","Unsafe_Reference","queueOrRun","au","handleLifecycle","initializers","finalizers","parSequence_","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","when","member","finalizer","consumer","eqMaybe","evalF","runProcess","pullFrom","producer","sid","cqb","retractFreeAp","hoistFreeAp","$111","ForkId","unlessM","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","$79","renderSpec","subscribe","runComponent","initDriverState","$83","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","$86","renderStateX","$$var","$89","$88","foreachSlot","renderStateX_","ds$prime","$90","$69","$81","$82","dispose","disposed","dsx","subsRef","$91","launchAff_","$92","query","connect","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","patch","buildProp","mkSpec","machine","nextSibling","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Halogen_Aff_Util","Halogen_VDom_Driver","showFooter","selectElement","main","logout","renderElSelector","bmarks","blist","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.map","sourceRoot":"","sourcesContent":["//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^
    /i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

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

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\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[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var 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[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(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 (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var 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 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n 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[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.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.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = function ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\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 ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\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[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var 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 ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var 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[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_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_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\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[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \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 ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\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[\"HalogenM\"] = HalogenM;\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[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\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 ($45) {\n return f($45);\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 ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\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 73, column 7 - line 73, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.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 var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n 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[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var 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 v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\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: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\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 v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, 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 v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\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 $84 = v === v1;\n if ($84) {\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 v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\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 v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\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 v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\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 v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\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 v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\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 v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\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 exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \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 $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bifunctor_Wrap = PS[\"Data.Bifunctor.Wrap\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($28) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($28));\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(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(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[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 189, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var 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 $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\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 v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\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[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\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 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\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 ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\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[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"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[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.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 class_ = function ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\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_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\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[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var 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 ($59) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($59));\n };\n var class_ = function ($60) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($60));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($61) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($61));\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 $56 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($56) {\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 ($63) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($63));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\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 ($23) {\n return Data_Maybe.Just.create(UEditField.create(f($23)));\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 (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\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 (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\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[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\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 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 };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($60) {\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\")($60)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($61) {\n return Data_Maybe.Just.create(BEditField.create(f($61)));\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 ($62) {\n return Data_Maybe.Just.create(BEditSubmit.create($62));\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_([ 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\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.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 };\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 BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $42 = {};\n for (var $43 in v2) {\n if ({}.hasOwnProperty.call(v2, $43)) {\n $42[$43] = v2[$43];\n };\n };\n $42.destroyed = true;\n return $42;\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 160, column 17 - line 166, 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 152, column 3 - line 152, 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[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_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 Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\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 Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_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 Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \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 (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(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 $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): \" + [ 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 ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Data_Const = PS[\"Data.Const\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Prelude = PS[\"Prelude\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_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_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var 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 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 };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $47 = {};\n for (var $48 in v1) {\n if ({}.hasOwnProperty.call(v1, $48)) {\n $47[$48] = v1[$48];\n };\n };\n $47.deleteAsk = v.value0;\n return $47;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return 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 (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = 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 mmoment = Globals.mmoment8601(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($70) {\n return Data_Maybe.Just.create(BEditField.create(f($70)));\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 ($71) {\n return Data_Maybe.Just.create(BEditSubmit.create($71));\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.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.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 $66 = Data_String_Common[\"null\"](v.bm.title);\n if ($66) {\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 $67 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($67) {\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.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), 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[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"_markdown\"] = _markdown;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\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 ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\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[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var 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 (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.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[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_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 = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop() {\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 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\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $33 = Data_String_Common[\"null\"](v.note.title);\n if ($33) {\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_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\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 (v2) {\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 (v2) {\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 (v2) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n };\n var editField = function (f) {\n return function ($60) {\n return Data_Maybe.Just.create(NEditField.create(f($60)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($61) {\n return Data_Maybe.Just.create(NEditSubmit.create($61));\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.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 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 created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 160, column 19 - line 163, column 44): \" + [ 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 $43 = {};\n for (var $44 in v1) {\n if ({}.hasOwnProperty.call(v1, $44)) {\n $43[$44] = v1[$44];\n };\n };\n $43.deleteAsk = v.value0;\n return $43;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $48 = {};\n for (var $49 in v2) {\n if ({}.hasOwnProperty.call(v2, $49)) {\n $48[$49] = v2[$49];\n };\n };\n $48.destroyed = true;\n return $48;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return 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 (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $57 = v1.id === 0;\n if ($57) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 22): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 155, column 3 - line 155, column 77): \" + [ v.constructor.name ]);\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[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = 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 v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = 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: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad = 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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_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 Prelude = PS[\"Prelude\"];\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 (v1) {\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))(v1));\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 54): \" + [ 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 (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var 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 (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\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 (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\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)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.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 (v6) {\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(v4.subscriptions))))(function (v7) {\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)(v2))(v7))(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(v6)))))(function (v8) {\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)(v2)(done)))(v4.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)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\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 (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(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 ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\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 (v2) {\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)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\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)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\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(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\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 (v3) {\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)(v3)))(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[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_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 Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\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 ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\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 ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\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 (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.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(v))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var 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 v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n 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 v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\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 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): \" + [ v3.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 v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\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: v3,\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(v2),\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)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n 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 v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\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 Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(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 ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\n })(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_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 Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = 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 v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\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 v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), 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 v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), 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 v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 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 (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.map.gz b/static/js/app.min.map.gz index f6df71fc8e627e5d0391c0c1ac5d30bce0a21e01..0b9351ee048d947d2e4c1f2b6fe882edde783d51 100644 GIT binary patch delta 226599 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
    nzR>D&6b39P2n_l|~XvpTURVRSlLI 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 GkrDt*zbaz@ delta 226568 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
    e$_fj!f{_w!biCk_A6WHYWFQ*bNffpSHXf zlw-^Le?`l7p(j>!KlLl;SR@Oaj=6Cw^4L5FoH0SrclP~?`rUK#8UG6ww4c~wCz8~x zmlE%6kyJkxv88WCauTe9-L5e9btuoXUY}Pdf8i$(ch|YTuy%^gg`dudG|dPUjb2~a zb=TFEToQTgIE$j6*p;(e(@mL~p8}k*7d&ynPCoRl7K zZf)A3!laT85s8#LUi2(GiWG3pG|5YQW`h+krxQ9{Sc8$(Z0|*M+q&kpb$@F*7h?_3 zb>}chE?C|46caG`I2_J<#@@!xn}wP#`?h+n`3Up+>Z}JApfmlSjn-1fPReLIW>7yJ ze;#iy(#orI)3?Jb7R%q^qZlG*VoLpNj@Gj{6#tOK60i~Ki+1>A^{9s;`W&Z9_K($8 z*fM@gZoCEk3BM-Si3n7~Sj~E(X22zL8}JuKMbMD1oWn^;jZVv%+VLcWh&+GMi)XO) z4?FnTaK3FeIm;%0&7lSTqn|jd`g0(#f2ph!oDgn3s`H<}0EZwpwJ>ext(%su9s`61 zYu46Ffw#1_UcYav7Cn9))4uoRu)@?nl1L?pe%pw59;2g9a*aZ>J@zzM2B{IP7e9Zo z?_z41&bi7`;44`5buL#<=L;g1G8%P6T&qQGhf~4i51)U?LKi#c9B37c6KlgUUTxf5 z=|Re#2l;Z&*i*{@>yrbP~vg_iu0yJ>nj!eAp4~XyiG5;}K_V_1Q=#7Zz@Q&qvH-HM?hP z_M#P=iHZ@1!+Q0eCB;4ZI3mOUfP4<;F z=lz&p`|X1LfB|bky@v=B*-1M{LR(7CQv4LLNfy!2_H-a2>=K9|m=>H6R zYnhPE){axVZ^UG$t|<$g`PN#N2HP`SOPV%N9m0siqGXRx5q1cT05?F$zbadH`^yzaQ202F-B}YcNU0IUlF4eVIrpI+m(s_O z=AW1rgKh(Fe6xf9dmh_A8hDz8Jxq_KkF(tu)USq_ z%w4o{O_iy7HGZJJ_+<~M-B!nV;YQY7aWK}MPowKv)Qla&fPTsv!~(R=)@%N-9#enu zim?#Ov^D{?eBA{k^K$W2^5NXSFkr>7Joy-hORrZ^R#S_bG@Z zFd*ngH!+C>>SoF@_zIkRc)YwfUBO9GC@Dz`)t`Tu3Du24Qw)k@Z}&KhSp-QZ{(SW| z=3tigZH$uI+wnS4V2Mr4;`>+z+Or(NPwUm9_564}#39KbZR=6Sr=L_EadspkMAPGpw1ei`Gxu<9Nhk-585&`wpEO%>i}3f%eE_%)2p+za8Br z;-h~<(`n!g@60^DYPRX*lKwy6v7M3rRMPEyDP8Q13366av1Q)>Eib&pNR?Vr|4MW5 zvLWHIJYjB1Z~qVeB2vYVhPzwxVtK^`F2cv$nQRp?_9e!$C6pLff@6N)nY(SwI;>ElA*>ZLxk)W1#dD~QfYi1iuR~&nMb#^~n z3kaLiHVElv`5r2wbo0!T7h$^wNGnd1M9q$mVC1*ykRH7ciJGWAif{EvJ@dgGm}Ej z{gL;HJ+f)*WcS5Ba#;GsW19}kHs_l68e;7uLN;y#SzXA~u*TnHLb>FgO;&%%a!r0W zEoAkg^=kCicm9|B=eVOx;KtX(I^D>1Lw$(*B0sLFnpmp=Lwt6jizY~PPcHOPL)+QC z3(MDVVXq!tShnELvE;Z_RsF`r`tZ8~b)EuPl-EC(viwcA<6%4ad;IFO?y>Li&$R5g zcP`AL{s`YbG;xrB<}@5R^!9(BYZ$Qlw(U%P*F^xpao1oxFscws>M$Nzpqv@8ppMNq zT=g6N0&`XnRaK{f(D&}1E&ck@EG2_GK>c6Jm%us`8N_z2%MV7TscIa&2m;2W&^ zgjHM6>qKD5GnTYrrJt+GkFT+xkCZo8@O|Dti5xxO2%7UyuGeRQ%5HyE*@fJr&mxtz zVYzE_dbJF*%X(r{^vpt z?0ps~tMWli)yB%T$%#s$zp+dGm3V(mY-SyqOcPpIiEVN+x`{Hq!QQ44)IJ<40N4XS zdsX#use+?gM7cyox59sWU#gk)+fMC$MP+LQ$u^pBM`A;TEv&bU46{Z3hcMf<8Y=+# zz_cUL%SqhZp$$y0IKex5BN1)q&$S07E+1SMXEKcR*#+#86=Pu+Ks6cy(p`wFLN(VUI(QC1Lg2aq}P;SQgB_q7T2^E?ZjNE>yYNU5HzX2oa<9a z4PJUq{pro(CZ~Vh`D(#-E~2>_g0EZsb1MZo*ZmG)@#|&i1Oo(1x3W>gT6@m5cnH<@ z8-!N-=+naPX%AssO>8-o?`NsF@?34Vi{)2yUnC_XYwH6XxTP&3#TdWMSUAGj~KE4_zw5)6}4p$-yKkmn%6d9)+;&XpRjZluc;U~s9qH(S{@E%-5^mXX; z?p9E*a%lIVVRW7LP9&j4a`1hq?oLX3Vp`nOH^_M3iJXTGh&xlDg0$kjt9sh^)2k?uL0n3EHL4%Q-s^S2TY-yfhLCy)!Q!bXXp)RA!vV4(sJ_z3r%5E8jA zhDwS9XWBIkJ{Y(cuI4%10We5%Kuu~aq~1TM1(Z%gMO%=#jzp6;igHijl(NF-#eg#V zC0aBP=d-Fc&#Y{q}v1OA-g_9!v7ekIfz(AR>%dfI!ag9wqZYkLYtZ*#65R|jya0mks)TD_qt3>JMRJU?T+@({8f1~ZTew}j zM=-Sd+cQoXHi{@!@5W$Fq|I{?pZyE`+~cfAEn5~qs?f7=R~(}##D3sEHL*l1O&~ulj56vkfEIp6AB_N{4#uj4xeW!7z^I`Z%+&b zJ<)bb4D>eo1_R0Q1os~n0m*;$kyE|{m@GfgCfs2;YJon?>2njO&wWG5q2(hiJkm0I zKw#2vLu?FRU_s<~!|AWt>F?1yJWEau8AJ~b{U@bTt)tS=R5=h6eS{O?qI%{fYZ=fh zBtI{XDY(Vq*aCTOVr=X8?BF{d<*}JF=s$iX%E<2mi&Z%fhpLwr?plB3Yc2DiN{DT0 zkM`x2i-#gtV$yR6{16WB!)h-{=_GOIhOfMN8qe%2RRda|kY2f2*H5s~FMo%NenA~f zpJThxzbvngv8NX%wRV3DR?mxHoNHP$N^En=vr-IvgUhE4U!%0|B{*5Wq3m&9}9)5p-q{nn>9Qq}>o3SDe`?69rK zf62KjyVqrFE_*$c5s#OZQq*_uU2Q5mV+P|!C|ttFkd^F_O{woZSo_bZHiR`vY3hVI zvbtQAQJJn3wjO_|U`n=XlWL)D1ar%J2ceW~HDCVU;|GH zd*-EJLjZdEXe8h>`*v?%!}5Q-BZE@u{N~9P55hUSV-0_J-S^pmOuNfFbypx7_{(}? zA&IxQ;%*|?^mhoJwM!pSjZr?z2XDsM*!rAQ6Int5BM)j!1ey6sW>ChpA?=pLD3a0Y z;Q__-)FE?_YHll#+?K#$VOHMoo}_F7#AqstyszvReMy-H;!3wTuU6%Y-Xu}YmJ7al z1&I|a44QvNsOxx2=?YGObBln}yv8;2VOrjS@*08)y+lcOh*|X{UhX+00!mg+RvCyf zVo2}gYF&f-N-vIy7jKu^dJY43tu@2Tl!)u~i8po&Zr@W?fwL_~Dg|KpfLWI_Y}3QB zuizG>E%|Zz0daAINJ4=i?FLclfpi|^G>k*LN0xtd;u9i;flY~$LUX|=}VMOm)!|n>|c~3K+aDLlyOU8#SxS-Vym(7Wx^uN3YjSHf_Z7kwg?ze!_dqq`6XY98Z&0%ssyg{6=a}qv3cWm=iLE{ zar%GQtkT$r2h{>ZDXfuN6~(?3c_p{Ak8iT^H=xuh>*oE3E!Juxi?|dSVz`DV1gx;T zR(L_?@;f&Dndp~@tb&pPkXP`5VbD{Nqb9CObnqd7z$ zd?w4@nAEIBv z$-Pw%L*|Zl1@36bsn*oWK*|Jo{nfzS${a`DRI@@as+X_6={WT}HJOzc_d0(`4tC-0 z>0uICHtJ#IS$`b-g&q@=(zJqTSYk}@?-{{KAXhoy>R!E`oxfU>p| zYCs_M`OZtM-O4jwEDP9Zc$I&R^p7|?IC&9V=Y+U+C&kyt7D0_gskKDn%Z@X2XQfN5 z{5mUJF2A-A=xFnLr5xOVy(o}AVnY@Wprzi(y?|{l)vzD>gb7*_Yb*mK1M=HI0*E@w zuLBS9_mv-M-3P)BjKpK*)<>^cLMeg<%l-~g0?51DirpG? zXm01|oriaAu(QE{tDS(?;x&Ae8uWc_y#A#Jteh&H?+?Ovn}W$ zTTj#@a#%kxH6fTqT+p8QPNn*zGfg&x#==03F&)FX9dMjk2QB1W?I23TWkRfo@WLlF z#66MG_K_$IS|)#xeV543x1GdI%fYK|hq zPAn6ve)7+ph6`HG?B7R>gdRvpzM}~ueA8q%e%cbJ{A_`J>?}gXuKXMy<&RuKQb&n` zr?0iLzZ&KFv6s({{U5mTrHp-8!vFG7)Ti9slzb3QN{fGUM$jRxWd7e-$qGz;CQhX@ zy^YIwpbEUV{NL`48pD$7=)Sc8pP$=+OJuW~D?W&ym_q!MxPfz6?x2~&;&>0ZuhIj# zDA&hjiyLmpouKGzV(Aw}w3;PWl4z1fJ2FQ^A>pH$L=82*;Q|pB&EPUXX)FbYUJ>WF zF*6OFtwet`=a{0TVd7_isd$;IGBBYJmBbthWzvBdTJ06nrmCv(^}8*hEia?iuMMs{ zf5V#5a3-#VNr{KO3@%(7chJyE@BW%L1^2PwrEQSJyzjCF4>{TrGMrBLV6Zu=Ukw$G z5V8sm;y|-|w`2wQoRzx=9@puMgF!iR(a*t%6oY?pq@@n57z05UV})MvJMRrf;=f#q z@3$`XT&2OB@65%_-3Ll{0!}2D zQs-*fpkE;c1?t>6QOluvQ1{U=8O)Iv2oG_D{ zOSpd*iIs6Jm>x?J>;s+(gx#+RJI@I?l`f7x3?f@wbLx}QRf$i1ULm#{8W>cOkmIoE zcoKJX8-Rl4WdI>XUNt7$d4q^gzbw!`{g6%(V=laz%SB;XMT^G7n?jYtxhhREfJo^Y zt>kNQaHE?ytysY>Lx%(fAwGkfK(kd&Jp+GhQp<`x)Vizm;biy@YMCl97>~GF_r8eT z1WG%Jj&JUh@l5bbNe?0t%R@S3VZTgA(xn|H@g;P%JQt)ctEZ8?XQ;@n+79 z3jTqb{zu<6$D{p3qiarRElw(G3fdr)I!1HVD~=)KPJ9KNQ{5| z(PmjD zEddGxJVEXPwxH%=R!!tbC6j^utRei#eJ7Pty@-4V?i%=?xh@$yTB^khLU3sHb3lC{ zc}-xTpF=R$l&9ghm50J^s^4;Y#nN@;>@5R2*)YTr0z^@DT-T=&D8JzMpvBeES^(BHZR=K}lM8={ zjgD$jXw@YF3femS8CrHKjzwM+->H7Sg1ZUk3$7r`=u#y0QT^`9@l7J*+p=YF`6@uE zT7@=nwwuUj$G}dDpv@z~y{IsVn3J9;<7>K%+Zkj9c>h)W8+u*v0n~pHl4=inznspT zy(OcMvRyoAxNxiEiiNpJMZ-w2bE7bFU9z<5P`1d?vEWw+9dRMH3pb@d%J0l+p76Uv z61JL2*cw;tq85YHRYjQ0#lE{Or5)8nIRb79J(bIA?x}u%lkqy+MCXbyK!dB8^*}Z0Ho-xu{sho^qK`dc7qYRp4w%)^<@Uc!q8C z?)CvEWWWh2jq4qfNHAg!+$-3%Y9(7jtKcQ6Sa8R(bRq!D6oq~PlRpsSB|8o_v1u+V z_C!T^HJWGce_)<|Y@T3*B&<(oR>>kT+dOgKKc6il{t-MRkJo=H1{itq1>Jjn>LYIL zEZ9+zLSKUy-Y8X5ofjgI%R;iJ>QaP4SsL;}HUdh~kcm*<=m-!VWeaUy`1S5dLPU^G zN>U%VwMd)nV9g9!T8bx}P<`v!#)}k)Ljk%{Xb-LJK_`K4GZPXo$)Bm7(AbVTU=S zIHxso~9i&cpE9$l1K;P{=BtI+Vl z-Q}oQOW$eSAAor&-5mp6^1jj;aUh? zc4oa*YXF+=3cX{z9tq=c4n2z=^2)Ylf`CKPh=QMgj|4lYMtM7$Yto2z0dVr-%lX`D zZ*n~!Gzdv{>JqSA<&GQ}>AY0=7wEs}?F3&rH{KD+^#jrgj8Peu6{X*-77^sYQ#Mvu zpG;S>4D`1kID>j5{w*U*rfZI^D#m44rz#^jo3q3V~FP; z?l_6)KR>MMj9m4@c^N}Rvw|2F7l?n^73-=;!IJ|VMUd6}8GO2g7TjlYgn+17s7|yR z!LO`qHBq8xWwz5mq8#LN%jHPhmkQ@eLFfg@x#U9?+e4n;9m0PUU!=UdQBxvu9);g1 zFY6wLhZwSFl7%OKHQ6u!fnwRT_xBR@1yUlW;5F^yy~qDf9Pfzsd;mCT|K$LJ&C6D1b0&eEL3>N#zv#Yw zpeW&vvw}w7Yjb?pEQSmYo5p|hxjqh5*YeY%i(F@3GuB4=dP8+lk6rc%E_~2q!hk-= ze&CV~sX)dpw2h5Q)(GRHdK&MDaq~u>ENR_D=*9J_Q*I(g`rhp0MvTM?$5}fPtpXLL zcfSf0yhf_SvZ>mX`wcptxlgukFctO_+P$4nWhz20^5l0SE-DRUy}5t1e!Mm3k%80& z$!ADke5K;Yk>Tn5q)|)&ZM#M$te3Y{B$_P950>92!ri*lA2pO~<4)|W4CXOBG$>HO zB`K|_3n@KSsWG3DSG256G-Km{a6S;jD#GJe|d@2q_- zs1xdk$v(vTmGjDpL5+U}n9$OOM{-u#mPv#qvGAxILYas{5!R_Du(J?Myk^*e=NKr5|A&2K;Jb0kFn>N03UzFTg zbHeHzWAF)0NKU>+NCWU^xk@2?wOrW>zm#;NPO)lNMoyKBFjs$!f;KjLB#O9Y%5m4E zM)o@EmRd%m@T(&$GIxg>np`EP!={=#Ye0K;Y%>{CPjZSDAD#Hu4=0L5a?7UWF6PR z8^C>69~_l6TvFnXWl4S1a9$8Obi5Nm&k{g41WDE-yK|{R)R$cUz65rNjd3S}1H~>p z1J)E|>ecr(YxK)2w3her_)rSNTJq#e zwl0qc=t;4aq-O>;>WzjCu~jEm6CL+S$9(|zIU{Bce&6-0ga#l1}5kv08aSs+pPyZqu=iPEUd)tEtqR2s)B#k7(()Wn;6Dz(vTa zE@7yHHf0Z>o=$lE-k7x9PwH(>MyxE$g6ORjTT++2GwcV}Ux^j9aY>tm43_dt_eSo3 zvtbMrJgK>uu*hED-YvyTS$;zZtyrA zRhR}690(Wnl=^)x3N?e%BsaWMVgJIcLWiTcz|W4P>2A81!MHdp ztw3n22UZ>R=up7iBO9O`QH#O|n_vvltPFoZPo5-SaM%Xo4pnY~Se=5ZvxKBis?sek zVjB?~WmKZdO99gazYm&ZTf+`ea>!W#`2L=1`t)CgeRo1mwDf@7$rQ`nw^%D4w&K+p znjKOwTlmLVL~9Eb%LO%W%e-n<7)iR;cg=TM*M8^u-+vOyy5zEhklq)HeSEZwu@!$! zkdz0;Jkh~eR$u9jDQr>J!iCt=Lg;VkUY7^VO|`@_AoscfZ$WGDXh%5}jX%Z|3BJSN zdxn)R%Dh&N&1H&XR?%cfQNHfr!3F2i&_hi?( zH+G%354)Pd+~%nx^#qFBI#o_1A82ZDaZ7^v3>k`dwUZZ^;HSI5!i`X+eewrdVdFX(bg?NmQS8kXE}A2T3ju{f(MuU(|DYmq}G zT2Ys8UE`F}LT6QZ1QdTw^a}2pqTct`v8z>7&b>^X=^Dx@QT~usv_R9&=;oAck<(|!=ws0D^IurD4l(hi&qO~(2^39V0r9IRQpPV(Gx2eAhoU|SWK1aV z)GA=?o6kL)qXV)Ym zhCFpnsMLUxt`mO^JkaZX6Yn=Ksyk8wl|A)DZ^t2dLck>VBsJsl?~$lO8BOWBhky*l zX!WbF5ZgFYrh4wqpv*(eM}-aNP)4TimM*($k(c4U9B)`wNEm$YD|CkqY3C~zl?G24 zf|I^)>GUX2T%ry>f!V0kA0XB~WkEsK^OuweNSUS-{eXX)hK`gwu4IXi98uS)m*yo) zWK{iE^1HvwirYBN9x=>B*Y1>z)K6N0J5;4NsR{|JFm+E&ed$}|?Gj2m*CJU40#M=Y z6jQ=JF8}spQW>>09>aVyP#I(729kGmCHVOBI$txjAaJCRnS?YuW&u5*-fmAXpycB| zFmH~lG!=iC5lAP#f{aHb`O=x&DIOLM8(Pm?j99vZ1?zm|lw&~Cxu?ayHrcRmUMDo0sXMcrTP#;4iwq){a~zF=VL$`>7s7?_C-K+atFJ3Eh|o_Jqp)&wJW6mon6 zIUS|ra(v?mUP2E{#c5aYG=#KEMPD}%e$_yw2*H2ChITIQNt9qS^47pbR3Qy^otnN# zfoc}*;G_2groXz|xYs3nxO6tB7$|W{4U@SWG03L8TnGWdC37-qZ*0$!jxVeqYae24 z07*i&$m#^cv;F*+O=+FKPp7h-2^Y4VBltK3`86K;bG+~x~v+oQ}N6X1z4lyp;)n{Si|puz_pN^ z)x1iun8IS-b!T?<@9Z#K zwh@&xn{tnx&6yuD{Uu>W-O)oxoScEomVv&>JzL@{Lk-;e7Al%ad=n(ij4M^5UrAt~ zj1M7kGa`OeLtH8EP31v>N}q9#Cj_03szL+-%(`$qY!yH}stR@Wp6ID#J0jldEdhUF z;2-9_q4G(Ymyqe{QSvtQ=xpKJX4&ve)Yg{5(90GpWl;Nbe{8b$@!PvQV6Lty9X^Hp zRl#g5g+5e=?MnCfR63E{fOknU1!;MStoLlsFNs+|sPKgth=V#PJ&^FXc+m1h_A(o9qUX`se+W8hsXKqoI z$`i11*MwF2fl?qF$riQGlnPR5C}YU~-aezL`2Hb+Hek^oVNH*8H33FMOOf^g$}R+M zqX&j-e?;gK@ml%2P8cg4A|G=1K%F#rC->AzGtmi7v;1Tm@i9X1#rF8^2&#Yf;|9Xk zqk^rP9YIl4p=|8d?Fbg>(;hSrY?<(34DUi5`F1d!!gFSLy9ypKc zae8#%LQq2t1f~?93P1NRP>+AMQ~#L4I^M6vtZZhl{6FGoy^@aMIaViQL2F)C$2^W* zRWy$wwUpknY8htQ+B$=u(D7d=|2uw$Qn*iQ(ww#>#dE8T<#(X6&K7C)n>27%j!7s zl=VMxjp#NK+PjV=ZY%fv*`HCt*upbtzu@l-q~H2ZWXc+OSL$pjBNP*T8vTJ7sDRrJ zu(ZT@W<@4oq+Wlv;H(-NkqrTUC0 zMP(-h5zSnX@!p37W)!FOhg@?#rJ9+ElAY;NK7e+iKqqN}az|M&1*96&%LM>Io}3#o ztLn0+23x`pzJzAuqK+k@?F=~91y=xRwp&D9u?q&bTg zK!q%2wH2mr0di77&;Obe6ZJYqoFb!y!v`Q+c*(j`BefX#DllZB*fd)(j2C1}u>wl< z`j}(u9#C=!B>|i$kW-bZ3-^Z5=_4jM=}|kUYFq_@f#v)t9nNYIh`~h!Q6SyoZ8fIR z-NiqC!H+R)T9L^OED!k7WQVQ-i%ws4^e5BG|5*W6}+P)(ieVSZ96Tq!}kMi zc|R1(#vmCWmpE23EfSL{RN=`E!gm3r8gvX`{Pos!GA1)vQWkirzuk z&K>kuzyE(h0}Ix`{O>fdVht?g4LqMh#s!3m3t(k?Rd!%yNBCVJp6yons|v@DKhemf zo-?@P{R5Q=5;QlqO-V_%s#Jv^-?-TPSUG@q(Ir}~blzRV1y|0rM9EvaXvR zm8V`(8nXrZwGS%S@L%KJ(o;En&U0LBmy@Kps7aITVu zfPbQzc_XcGMNugJ7kQn^SvAT}O0?cBB)wbLa_vn@t=uFW*C5>z1bfw0bRp1$*1{`> zmH~gd2#Ep8sItJR`iudJC}yURh*VNr^ub3Zz~@=*-5Ojldjm1M)9pT;ZFdgsO2%qr z>b{??yM($ONnP$Vd60(_4cjAd8F!`R>yxkLKL!SHej5e~9oQzr85nw`*wUQ@-$6)< z7In&e7kNFt64Kb4}{KNyX5=_cb;;hEObn zq*o#ZOE)Bzh7EXl-36(ut~cY?tP?qeDXU|s{9sCFPa?^7ftKyq7Gd)8mleBIq=A3e zUuht?kEvovUhlh+Jypa+ifwsug<|)sWqYuP_ec*pK~7f}DlgF|EWqbdUG8YG1b+D( z`4WSM<(IdSFY(fBHLLqGvpT6+-LNkuYR?&LA~86^-bmyOJXOz1seSO&27X@E1vasd zjKl)MggnDfUSOkA^kqOg#EL61s@Z?CTX>(PK}mncI9poaJx0yDM@}^ z#p0lBseiw6%kjg#vxttXLow^6yr-TNO8>AQV&_oGV-6{2m&}-2hmp(tvUB~ zs~gi97mRl9p2eJ*mojbUNOFIHSzUq?-hBFa*|r$uL>XgtxL-=v4LU^MZrg@bx5rySywtk6E zudAxrkIyv|A6IyoKAi}v_c6BF(}t?ONRUdr1?}~XXcQr5a-2Hge@lNsS+6{LDB)PL z94Aeau44MDJW(Sfv;DUG;t z_o_yCJ*TGI0a(6pcGL- zQuI_5MrxlKvo+^g=P@Kwct$a{>*uPPKlza}$54FZG4Z)^ud61yjE25p=NxsQ7?D>k z9a`+1U%n8=gHz}}Eb%FzyKP7>=02n!emKcjFSJCvCyfPMcjJGZ#|R!qo|j73O*Vo) zo!vaPRlZClcA1hnVfH{MWl!#fdCJ4LCL7l+@+tlR>}mc0>S&zu2{;AT>qkfhPUpu3 z?#)zWs+RO`&LEXO(uUq3w7@kXO_%b@!ojyPA@TYbVFH*k{HjL8IPcp#Ixz;B)X0&L zk*E%6j^%2Qvble`Mn>e3q$lbaZ)O22l!d?|a2R7T5E-F43FmbQe4U)h>fV-J2rAR{ zUY&^`3bMWD8aOC9lw%k{nZYk=w&&U&2X=qBBb2bD31-k$CZG%httSBAoPetcoUQw2 zkp_a_P>`9Sd0V2#0!Td0$-gb(2bC3SR}OG(9N?B913G`0zT8C1Hob*x4lj1ZoA?y| zXQo8f!JRurQ{<&fBhHm*#22LuG~e8m^?=E^0Nb*1(YUa7{Ym&07D$t8_xBdgCG^_w zJtT>~Q|hfOHg)ffFc*F|vrDA!-H`>8bx#z$aIFG|aE%r&?!v80Y8k{) zcV$uoBS|i&cs*Cv%yeCTeP%d`(|}^#6KsJCsKBk&&A_||mL|TwW+RRc zhdjoCNY@;1#o{9;59C99EIZB>R`#~!iEzZI)YpF;=Cr6C$!BtG3R}*#$X726?*P|k z+37rgI~_i5J|8yC|Gm?hxkYeUn3nvhg5@7LARuLJf5SmPE!<;hT@iOG8qBW93iED0 zBVAiZ?jDvEtCJT?&WJE_#v0vMIl&}$S53A;hrc9(OAYvV?IR2Nk0MA z>->M5llDI5K%q)&gCM|#;fdKJX5zC7LMo{J~B;LP0|nI ztS)iXU6+Q~soltZL(uw?PSXi!P7YpNmgygiM7k%%L_TPGeeH z(Y^y?*BF$uCdcze)Y-(}&jZ?hTuu1JkOLYqI`SR)q%-c)=L4o&8_IUPD;j_AQjK?2 zTGFgb(1An|@OJ9@vpWuWKj1{i!bV~kt(b(W#)j!k9|-MS&>d<@y%*&cxu>!Qq}oUf z9yByoLx$%f0?-sxhgt;B|NIz5OrAp(j)lRPBf98r{6MmI8#9AYnUq_BF6|I`s%yDH zp5C~0MMGmw9~~kUeCHtty3>D#zx}O_;|o0*>cyS*NZpV8>i8dHU<=B9F{#WU$}mzBB3>i7-(pbBF5z2tel|(vdJ(jrck5WnyCtM8cn;(3aFAU7{s^X zH)EAAI1>7zeJw1dlE@;7vA%P_Fn0KDj5qNh1p=Ncp~ zHP?_hqdqDP)DC~3FAxg7l7HGYzDGsZRYFClhDJq?XHn4&q@iyNC=CVH{XARu7V7o} zl$t`;9isp0H9QUAsv^mVy8hw*m**j>h1V`_as?ZXX~}G}6w^Gr&DEJWf+j0;loNIK z-mo0uLZIfN+Rfdk9iel!{tsfi$gYmSk~O@B_WgF>qmX}M+$VdMj@1+Nru;W%1DRT^QJs
    ZyO@IF`q8{+r_nh00c#DcLg`Y{DxneN{K!dB}mea3PF}aH%`!Km>v(G2@k3%}%^# z!CjXviY1peDe9UF9e3)It~jn@+3va&B1FkD)V|@0cr>vKyexG>8EXJmnv$cLiK{0X z34FC9-5sUZCo+H3vbV35m^s|6xEq(jnjnADq2Gafzuqa*8BrjJ_ud)qr93)+`f{_!zr($LF1Vn5rL~|$baY(_tVK=? z6Kj$G@mfS6^+C^BLh9S5`ZwqJYk-z>92xoo65tjQ{z~i=!pE3bESrdfA)n4G2IqfD zyq8sFEoW6CY(V~4pI0nMvqntd{S_)=ngmm6I?=APEM-bsDGH?fMv?A<=|`g8Yb@M} z{G%p}s}dcGVUrO?C@3cIh+h5`8z2Fj_wYLu(R7BTd_}Jw(#u;#FN=?wAj^qeVBtYz z09-($zxW*bO`5}?sTY4#A`RHM8AGQOL)^%JP?mKvNhPvDkO=r>{KH|UdrVW!U8 z1~$fDxraM^Jks@SMS6Lwa!nJJY|w3>KHWt5l1C?&si2MXE>UH_5;H8mAr-fG0SRs= zgmFz%RmnFFPN z#UaoNh=+hnEJ27FW1K3o?{nc(CqIf+aUh#deWY@f&6vCXSS99ThZOuqq*U`pH={Pz z>c&J=BcPMVfJdH{34tK^!9`zvijufRC1t&cSuHo>NNsIdTZ4~yTllH_GJIw7{^)~1 z7rYX^>i*qw2!6JU3wA_mQo^r-7nPrXXesOziRD}gc2|3l@9M zke5P0@B9O%=v}zV!RFK^!y~1MBF~yP<5&X;smTebF)!Ptx=A=>-X;=2K-4vVtj!Gw zR*jYNt8WadHkHvO=5pX(CbQR=Q9!{BPdIa=tdy6SyTPA9YKQP3=o*2>6^ER+IOHg| z(K(~hYAI$p}xS(kgR-NyZO@t$$zvN~jO#x)p}SIWY%DY=&|3+XN?*)TyeNhz4e zE-$X|h}9_YMLUsY0i!v0*Ld$>^8zzJ8*^~zgzp1n5*x!OJM6*TKO44xdrw?PjV@|Y z!>%Th#F9QfoMGOGU2Oaq$K#YUket`4+u1Mpqb&qF@??eqlx4hE@G0pFvQvo2W^tk8ejnOHGY180 zsFQ<8K_1P}H!f{Z!M(t(>6Z?mzG==pZ38q>R2MqwgT}Hw6RM7?!8r=DIk9-sOx6R9 zj#8)$*c2#v^6Ns~XNVfAC66vyz_Lr29pBN=56BhykXx}RkVlw*x+b5;&w|M_|v&TQO?bul1hInNC9XU6*6V9iECwBUuA}*VXS^ z2B&)lj{sYrR+T`v8cZn{XDlo$sUWrvDWpCkL9iCtIXI#9c zRp?vM)eaX->9*sB*IO{JOqannk3!;?1xx{s1tqJdu(^d9Zy~EuQ7$@JGKnzmm_nhT4^>$p7H{j@TwhM1jb^%#nYZ z22l>sTPXj3*1lLVg{2-;*YQ4Ya1C08hQS1c&u+1R5~$TxUSNIMa55EIO(m0uKae%qs5B_wZ@F!k6Rj_4sC}1wh7&Qh?78=V z)ngTZX-*Rn(eG?=&C5GdP$D&@Sk$EPlrNbF1O)V?H7?Usp+eKNp9 ztO`=_9maa^T=E2NZt?bkSJE6b=a5BOvNv-TWsEb$c}2WamyqXjE(T&^(=YZ=F98X> zRT+rFb1a*Q1uL7XvRTWrKRTO_ZjZbnuCTNqa;g+{l}jw#iB(H;N}KW-UwMV8i!Abg zPWuG+5#_eXjqsVg2(JXVzAxq4Z&cfX^F}JpHR{x!Y||S$HGKvo9rUjXDe+n+moDgrx@D2iOLjGgFMkx-f7S|{{&`@Mck=!iT2m?8hZ?VE7Jmdn**m52C zt4Gc#{y>&KX9_MU^RJg?{*}z(^&>Ke`A5qHvS`MLc~_?s+B4yM8fD@@SO!HK#r;xf z?r_aSrkL37v&L)c_a$Q+W3I!UiMWB2yonfpjiCJ6x(+iNSJCKu!!BbD4~Udg%)WbW z_bm>XPB>xsCHRA;fbH8W+i&1BA64SSHeP{bI<1|E5+pl4vQBH6WT(vc;aJj5fm;eb zJpiNBd~zAeCI@qFKs_Nhm1q3c+K-cAici<1%9>FLiFspi)ReRo37Y=oD)o~ZIgxpP zYx89j@8L>tAIwMO3ZrDa7t2!g#jY}aSG3hQ()2>Bp_w2?o|NJm8b&mergge4^dUY= z^40V9+KS!;8;Zxi+opb3qnnzn^&P+aa;E>l{4V*8Rk*}8A=LpT*JUQ_4CLL7nP~^9 znMWdKS`2_rZoOI*;*TdHVynHNPdN2|)1vt;3Xmg_K|0iTBUbK-vT|Q4D|dzkgcTcq z+jqzxu<$mgJ%n`Rl0_UnTh3toOq{_)mDQb-it3x9GVSf}z)_KrXbU~0;Yk3`fmQy_ zVPh)SVEHdNYz*C8c)?YQ(`TY?vuDl>&7X-GTBuTrLxG2bkD8LB?@yWWW zk~!BYBC3i+rKD>{QhlESDIWkkQ5lO_GfCpc%&oQ`B_WL&k-mquA$?n>vHVKA!o3wA z8G+(7@!gh(6Vi87k4E1Sr-OQovBbelmHs*rbC~E$d(kx1k>wWg*o^f!ApMBLG${k7 zN#P3dUs6!wWv=v1&;-Jg06n082fIekbjKT~Iyp4E6`mq~uRYa#c)_ ztNRU8Zvc6zIsW^+!bsmNh#|z0yA0w8ahINoiDeY`>ew`0K15zgbUg#}h$)Jj1gbs6 zTP`b_&s7f4GQ~@;Y0#A6a1ME|@ZMZd-IsXV=&(T9y}2%>+ho&>j0IqS*4_i-z2w!Y z20?0%Cw(Ihk@J64=l>Kby;P;yXNEwo6avYq!a2H%-(cy;EvV8CX7RwntjP24FW@2T zAt!z1`MIWn(H~?CVqrOLYd@ag4r==`8JzU&gBRk58e{gsEb@WTH$5gB@Gzb*z~oFd z=k1eBp9Rt!p%UI46v`NXJ^7Ks81Ic!w|@RzT<9V$#HzCm^JN-eSQAXfbQDLiB-B&hGId{o~;S>#w;Vp1pKYYtte zTn3;vUN_ztf7d6N-f@jlO&h_cmmZF^-%tt%mjWuhOT4DieaO;V5A$7xdMLN-kmtMcLw?zf z494^R81Eq63tlkeLIQ~b+RcZqKmMh|N2-0OD+M;>KT3VWf5by?C(0kSnS0V3@4Z|< zq0J)yWDY0=z}(Q)JUgZaZ_1f+oBrA1szhR-WuK-%jD{^>*Y&K3FQm}(&3{n|E zX@+hnygjSW57~n zS44GQ?@#*G3Fk7PyC3})L1;@iR~wkl zqb|FDDKmB1Z2XnF?53=n0(BWaadlZTGNX8|(_7x@;>%8nszFoG>8CmYrZ1{nX!JD?S->8W#$lZXVcKAhGA+k89|AEJH*K}H*k5}Ln8;vV`ze^?LcewI<9km!Az(izYNvJx_J{&%@L)0|vWVgMjh1CcAU zCMa6iBX(BV{SK(7ad6R`Hl-IL?~#$Xq$~$2T7RW_Q`-Wj#z?<67)$(M-rm{O&V43- zR-60>m@=mBJQsnDErAF;6tyYEnJ5JrUH3&q@Sup`)}>rOJNFQh^9p5^vulKlJcI!U zGqGSfV%A8OCt~wr%eJa)r^-);*nekF?ce_%yvOvDhFw}+$9=^MV%9_d!P)?71Z(~YLy;7Xvh%Me~?VCV9km)BFv zRQ%tlX$n{?&uBq8GD1{a5cjtvXkGaUWW9_R)iILqP8nCSNov93XO`Ua#-?I_w4H{I zpT&#Ep8=Kip2)3{a02deQiqjG>acA4l#RAVF+gA@sY4oBdQ!HNE!=KXn~}au`K6X) zy!J&o)-DA_|0sy&{+01be=iaS2;(dgN`u)hoR{1^IW(vSE>P@}*yo-+_Nak5Xo|LC zUrckStl;U`{_|vKDcKqUqOzRz58A?5{%RBzy6`j zS+5!`ZdB~?_%#M1ZfvDVVbRQDatlh&zGOOn$^zWjU@kYw&r@DVx)!pzQ+I)rYehN6 zBd8ds9ha5K&!c(3#6OLtiX|){F}@TEjA)JXz57d|EcUiyB{u(039SaszZe{)0DN@U&svv%{u6N0BR&rZnEXUYPz`(He78nFUQ z{O&(O2tZ}~5{m$OqEKmn$P57q0RG?|^Ico1aiT>lAW!qWfBIvhk&uIQP_I=-_D0H+ z!y5aP0EO~st<)`rI>2W?B&~`^>a#@$znJ2G0bF-BfHZeLCR4bocO;$h*sD ze(_krCwc7u=&J5V>=ZR9%Z6Ikk7@nv+PoE+wA!Eq4FQhs4U?mPp52Usih^$pJ9-~r zRYxvc)$HRpQn6fN{{ww?%e|a+QReO$jyVTXC|N&)l-b@qQ(4qlq%S^5kZLP$O385h zOp@X5*%JJSUKj?xhe}Alxm*+&xoFBV)4Yz5J8#N!Pd6%2Xm@)CVCHPx3FXpNzNGCn z2ntTVlzXH!tQa?c3Vv;}!C5&^rDatL+_jqxb_!{u`t<6R&O**$^1HMAtsGMeL#tF> zN_cVuPdkc+*bD#k{1v#TL_?gtdrI$R-}qn0!)0tXpg`?r<;-q!rs~OjB{vq$HF5{C zcG$rN>@~8j*W9ydfOB+gg9(eG%|_+)8@T6l`stfcR1VI6F_VY!8uTpBb~2O?V>E7% zrJ^ZCAXxFCSaFb8DUj$#K_aI>VjBU8i2{jj1SD3z1_=sCMvyp&%&R8&59hOD0%KU0 z2lb8Wk_~JOPdUm7buIkj^H+2wa#vSeL6~mgs%+egXIx+U@`*GN)@aK0gP4Qx=eOJ= zCDm#>2tLv|={C(`|Ao_A#jcD$6Dim@VAHd~6t4r(Z-W@s9<kpcL?4H)hv%ON5Gwr&njq&iCw1?m< zTAO$}Ln*3)=Wr<8omjlF!lf!)y=nCO&|v0)k2%XC%d+|oAZed@(WVU1==ME=05)Wq zDU-+!uD<}+R=0@I<}IPc+N`uuJ=U$dzW@{&G{NjjEcNR8j*JAGX5!V2dbMjN8bqTO zc*vB06JHG>h++8N~65{bsJWlA`fq%DCx=%mK z=QJ-m^5|O9$^sqnO5}*^56>xHdT=$}9Ou>nU6Z_)9)IpL8k6Nltx#aCAIQWDbbIIC zG${&*3Yj~!gs+`9eMb@9Q*V_&^$G}-oAYmK_H69&$S=e}9YAJQTLHOX}zOYoZ0Q#&HFNfY~4m{D;e-{eQRq9=zK@x>NP5IdnX9! zbx$Rognw4K%iwAhM3!SkwH(j#Nhev%yZj(om`cf`7qRV6YBoK{t>VMa3r@GF;ErTs zC`<(THz4^B0MmwfeUtL_8;fs8p=u$A_p?g8Pj5y6Jy1CWy?6nazJGCx_i?IAu#|qowv!7IV=p!-H^{sE zFDF*&?%B=5k2mTYpf%Vn2CP2AC^kSj7_bz{6>{ddMEUlOvW~!D?=dUKi#CrVyQ_e0 z{6tP+`Q)*jfwkMsi=(;y-05jUI7CByj0i@v?cYt^Q*!dfoAwE9l06r+phD-_fHfv_ zEPuMNA9U*3en%x4&3+=To4J?tVyIuZQ2vPQYtt{b%?kd*t6v$jtj;j4#qtS}|HjRz zC4^C2=(p=9BnKIH&`Ei_#kcpP5|YruZ^s&qsAqntrFRUdABzCBZ39uIY_hT2h^~-$ zbuOV?Dx&~#c@8tX# z{_qB3i^q7V%*nJPfo&+ri9OV)OqFq&xLVzOLY@WcRFz*C)1C^8eNMW2On!u z3hT7F($OUGPM56HW-i(3h|QI5w}iF=NRfk&4`6X_zMbiIbFSMp?>7H+w`8+~wy@jv z_ucN!b-U%=7QXJ5?nZ#Nuz%ZayxTG6K!0NW_Q)6HGbPB6_1h~Z``xjADWV73lKt)k zK0bhm(42@fAayziQb!I_nJ+<#m@{Y!KfW#tvh0!76Q zmQ6%Kl>yg>*E7hEiwxOcVA(=sSiSx`)f>E1Sr72q5DW8S^lm#DzkgFFlXu%7M)1i7 zXR6HJEJ)Vbg;8{NAPx<4o86P=V#N|=C#0jj7EKWAyisZNL{Vt$gIVeaEzHbPbjizs zNxF4sQbq)RTlUqJlt1V58ByaY>misID4gf?kr^0@$*V<}3(BV+p?funrog~<*Pgu^ zy7z-1SVjZO=w3B_wSO>Jr&OR1Db8~Y2J4G?0tP>s^ITOo1-G5!(*rQk&1aPky^RRo zboxqHM!Y3Ey)xCTBE?AK_V-oxUFy)T`weqhJnvTcHN#pP1UkO3CfU-E z4fi8uxH}#&irv?VY3;oub2T$*pXfq(#kvuo_R*gY)wT zLRG$bwqT-=mn)yd-Rk!Nm1N#il=%jSfT(MBuUT=QWM3zVs50 zti!Qv2l5i<2drCr0G62|IojO5D?K|d$N<@SokNAlbbn3F_vuXz?A5>BRo{26B7qX^#Sh`@E-M&wk= zyz3T>CJ1Xt5`HQ(x~^40(AG%oT-v|v>u=ZT>VTg)_vuz&GVA)l@S+5?s1p+UEt_8>p3)60?w zS`1LpJEHT5+T}sHMtNw+uluz~+1ypui=sd5P)ZuQDtT0u-2?ijoLWdza@7L6-BYD1 ztCK%@wEIkexAA#&8((=(*S=(YN)AIk*2fFbMrXtTu=d{d$@Y(i80SJm`mKO8259g~ z2!GeXCCfhD(GDA3fCCcIUUf3Mj#K+Q0ujDzolMkBSY^N$$)MH;Q_YPSh(g;Q-5ZP= zoSCw=BykaNdLw9hO#stdEGzI>;#1v90Gu82J_rR*CuWbWQ9kASle*296!DZ#gdt?g zc+`GpF84lkR@=E*V`f#n4E6GyfVJ!TKY!~s&%)avg+<-z6ix4S=OAjV`?tT_edf!U zy7ZADP&HvhOCeMI3QIqUx^aFWwAk`&q8hA7qXC zN9i;?l}@8HH6i4D;Yf$S1f){BQhpt1DmT20+>BO+DEiZl&?NnqwQTRP?vmg!)9R-_QiId4Egg$9PUHn=#ZBTOT22!yvUYvtfh}*N9Qcc7b`t zBU$GWV(uAo^#D-(cg!uO`PR%sTqY($n}{vQh)YhK$?N1ydR&LUqg+dn7qkoB*clb# zHG@<%{=modXUZFGRFCUeugFc@<^@=YTb7k$3O5-Cc%d?62$(Vi_Bz9?8h<;wzFGxr zMiVg@4?>naU;>d^R?1so^DA1b6P{b501&SX7sHplJw-{(AiZjBCoqALb_q;u!h#YZ zRM;kL*&+?qE#Nd=%Yb!&RewK{)k-B%Sdy}T1Y6^cT*_#wuEwUo#RKcNO7myw6$b9O za&C9F6!^%*>IONH{bU8BoMFAc1U{`b^JgELcskunqL@#0*69Xlu5iA=*gw7@TaYk}j8FfQ<{ynwTCQT9h2 zPHhz$ya1P7B)!=L>Fv9kQ~|Zl0M!6fA2xF%Cbl_$;7;LY;qq3@I!S!qiz4G$iqe#! zVkR87oC@hU_Ncb_Jb$qCuu3^ZiBY=63R2*S+$mZTvT9rjG*Y&~=lNv=>(KQVc7#8> z5A`Qk{zcs0m|?8CA*voaq%i4iI%dvGDd=ut+2m0dJGO3VX~2IHYWNf1w(q^B;z5BX zdH3INa4WO=Ry=o6cT?GRm`#c9uvRMH(GOL=7_F{UzRkljp=I$~Irr+8mJg<9hl0X$tSfTBZ&J=AAG0kvoh-_KwQKk< z2VUlwyZ+EIJMu$6nDwKTUAmLHhE&NxQSSOEBdKBbZ1(!bOsw$^bCWTn6MsjAG)~_D zKQXQ7QeHY5mvVj#&SlAmEJ?t9RrV$c{ud{Mv5z%%N6B4Jr>T#JBC~5Xzi|YY3)NnT zOPK8QrO0;d+0vNe?*!cb^32^~#-B@l=3;kk2H8*2&0;Y7CmuL>aR&fge>h_p-S9*E z{70U`hT%*Lr^|q=`*l(y~p^yzTJG49BlAhBI{R3=BU4BO4n`{ zJr-*>2xSXFnU_^eC#nPvtbrljgfU|ZtS@tTk8yw*cS5n8C6&{=4>^v?#ZnbhcvGfr zo5EZ2aXDefyBFmlaF{#cS%#MRaTXE%JY77KGzr+I?2vzG2eVebV}Bw`5bV4Mmw9Y# zhza$lPYF{G;wxd zN!Q;&&vo+lpcqmN?Dd~h>^18$M2)4}YwC`-LMGaskI`CCrNEeOzir!o&A<{#=Gdk? zlUxTb-d#-mz|chZX@9$50f)8cF93zoNbA@O%BP5MF4@~`>2gW@iRbE5S4Ymv^fy;d zVlUr9WVE9N#xJf)a^2amrw=_z*rt+sC!D$M(rep(X1Oe7UalV zyG}V4#h1jfxR0G&y4WhDP%D+fJ{Up@qw-GNgb4O#NxAN#&NOw2k~SCsd9P zSf*f#m@N+E#JJdWg}9!XmeN!UA3 z348aHu-7SgbAJrq9+%1d)ji$Ox^-#YW{;F#X=M&(9Z=c^vzi>;A}CM2L6FS)yOjs^ z_{*%nlj_wNw_b%GF7U&MgetcvkpVQ%*BrH`c-})5u66OufNLj?eRW>})ZCHuv?rev zO8j%j+Nb0TY~4{@qf{<*g2=sfEsTaED|qtGPj=QHbbnrYh|al1mU1MDilqdXn+q(P zh>R-hIFmA6EJIl#CQJezm!o%!UH1N*R*7M{eZryB$b7z?EYtP0W1=n4yW zBBu(;efkGk@Pi4gOHt8VIG#9lBF-1>iFfGojqtigsaoE0Kpy{pegPccqwu^6&ARac2As zGkGQk@yXVB~y`%=u3_muu0`ILU zQ4W}I`4N`fe2$wNEWW-}NHQs#;0q=NC4_DfP?|S0OiJLiXJTXS=D6pX&Of=&9b2-{ zsjb{1Q?MOi{}vJj{=u71HQaSnFu0>)9MKk&uw6{e5sjZYmz}Mbf9E`X8aRCVTtZH! zmVa|>B#w}`5`8c^l{$m20cVFD1a@rxNv>_@`-77ny!*=4SuZ4rEI)D2n3}aO0^B;> zj_!c?97=ZA7wDIBaFN`OOW>Z<&X!l71`xcCXa8fRsoMg}3k&T-N$tf#?*?(4#uDMP7x506eiD~Iu)g~Z4;|H%cO5ECsmd*?&=2S$}o&G$9w)&XMhNrzr!s&{w`hX$?$-C z=0km!VX_}qi84q{pL*GpkM6)-{3>Q0L(C@vL(HebgqZ(02IOpx*E2cDF_vGpwz3v@ zFC)fqu1Z^@&EK&3C-1t z8GSD9bz1?DD13Z?Ft4Ucs?$en>I2iJb;!b}v}voKdOcUHI<2!gKd5xC=YLA9W63Iw zTr7PCAA(mkSY|kVp0FG+m*N4r2Y*bUUvr9lSnc$ICkm6cxid)YlCbICJkZ!4Q4*PoCL7tR zyhEM9(x+>8n!{%`f!zm&hkpdertP#de1LO)&x}x^WhFbaC9Xm^e@u)pawX2eSBO{E z8WPvIA=StFm2-_#T$bAYK^Hb1KNH+e$WW|qbElO0Wbv)2B00v1TTtu)N_%@$=w`)% z7ampNNfoMeNmyDG`g^pj_EB7R4`R?)(kt0UvF=G^3@aj$8VMZugy8m{RS0gD zxzg(ZXW(2GUPdvdhgW?@f0BiIdT&wTRAg+<8Goa4yev(Yrg+4h<}-Ugh>8ny0$Ge| zi%h@dI%3g@Mp|)KB}6kHHw?|p#epC9{11=&G_c2gE{e(Xp8x8+PlI^Z^1vTlEPh6& z|8-|_A;*I~lvuy@EJ9RDOw%QUsQO^@RZP=mT{i_WP5ATxU_W=C73o4z zozjM9?g_TZ#^1ax(PN%ROMA}B?J}Wl7ge=jl2#R9)OEav%nN&a*<^1a zk|x_^Z?E{u zY0rpKZ7(Dg0Hg_WEtAf?H*g@D2^B?Y>rs|P4oTuG;&?3jd`ODTMp3}oAt{J3mlB0sDEFJPUJ<22hpLeJQarz+ZuD$pxBM$M_diGi{HJziWl5aZeONa+=>bcX{dpi zkRw9BR8$gLl|uheThpncPz3irVua-mr@AU_t7Nmr4#ud|I#sH?2XeB&Mh4WwtxFMR z-Yo>Kl&TZ(Z}JwUAyCrROcXVYpe%AtlqxIowtx7Z6n`p*N6IR!`CZyLo%fPTPK_hU ziFJ)El&7;~yyqMM$+;3T{E2V&;=7PIRO+=#EUQn7E8*j!bp1j1`=C`AXI9(Nf4jO; z$jO$&E%QYV2k)eVMFT-?iC!Ehq;vHdZmu_-FlXp+MiQYnhp6#Kbj*0Abqc>xuE}A0 zAAjiRUs@VR|FwwTl+d)tCm6YjIE#@=_;|%K>@;A~eY$Hj?v>iOA!R|#8@O=|qV(ed zV5jXb%U`W)ii>8@XKA*(dMZ699EsZxl-G(MhLURZ`~&LQb%M_eXrR)~d>9<91;Ute zu!N1v>Zu-9jm%J37pn_QOHG*k4kByoFMqCHSr}Eilh$Cwn&^+P3GJrkr@Lvzng~a{ zi6J$C+kFQcSx>vWC*H(_H!(ib#Mcv<@g}BcCK44GVolT+yootAff)1-C{z78<<9O{ z6SWm@Vo6P)X7di*BI-}-N+AN7^iAFHCf1|KruuqQqY_uFiRO+sv85&us_x+Y)_*A* zN(b}noN1zU;7#nQ2~=y`0j8|K|6nanyouwPwfGt?vb>4QzXe)3-o(}4Y9h~@xIWXw z*PvD4P2Bt~&?@pKZqF>I3K zL3gwKf$O7e@KBi(d2OtanbCnyL%MCIKp=Dh04G^N3=DBD+$r+%xzcQ?n13%&x=t}^ zAKW!DU>-|zDjkW1E(P_&a-h@?D_*+Rr5oPDR=2RzrJ$dGr!iYoXyKCNn5bg!!UgU>&|U{;Myodypk3FSWC zSQ8c^orsD;+0%a;L`+$MUUeaij%3MKdLK}L0N$nS=Y+bG87|x~DQ!<^kDoEr_WXij zz&VvK_n)Wx4Cxw%>eeXuzY3vA%_NNXGoVjKrM*(?8Z{HM+)OSd6`tm zr*nlNpd7KYkw8Eh3tvy@2P^Gk*4N;2$bFpww^m(S0E;~pnvB*RrDtuy+NAtUufR%M zsihsK{j7+6O|s+aXMe-~tjW@uD==vtte* zD!1@rITA=(Yers1pFH2WVEGzfPsmifF?S)9cmi}z2R_pO*nhI+s*^bwV5sb1Tp&Vd z4qJIBcqZDha^tBaJz&|8H3RRuXWMDukZU9~U|#0~0%piUkZTpWhVDD-z`5x$5x4+$ z!QkP7HQPiHvPOFU$%|4$Lc3$;S|3mr+bZU?bsua8o^$Ns;!%EGZ~me?lH2%j#BtU! z1#j@c^5P(;|9{L*3!qx}MF|pK^k)v)Lgho;A&+Z};gzKAfT^;vqIZ8a((5kAU$L!w zK4^1G4<}pMMT_*)kuq)H(Z&!fP@wK=S0klR$+3b4Y%#I9zP_879E{3DK0!wH%6Z$9 zuNW0qb^|e;?uh5*<=`h*z^T=zaJ%!L3#903lGVt6LY2iUF814uHVi=LZEb%0Z>}aa1`CEx zs4u>iKYw3T^pkAw)74!Wlp5kspGq5d#WBZy7r3Gx81G7z4a5H--MrKogDg^eIH0kBF+IvAy@m zvBd%*>0?gIK&w83HTLi-dC%Xn9$kt(L4;9oCs^k{eHlYs&$<(kS)`9$|f(Z$`3H8sD&5!RG%4Ru|&T?ZJ? z2km~Cc9$4@A?0aO*)_pnBzc4<#4XL8g1$)eM`4%7A+OdQ(F_&T1nPn|MfzKNBN=wR$j_`Ei@PxNPmfkJ2-{6&yo|CMKCBzxvjyLui7JYp@ zTRj0VeR@*outtjsfrg+%#xq*-tf%Z+}l3 zJN}hPF9HwbI6;(;lMY`WXfRpHso=pRuA)ya+*!m#6VYKX@IdlIKngwYeofI-^~l+6 zD|Qk_R^-TemWDTWbZN}AoERK->8lfXX&b7!(8FC-dGtgmR?vj~L7k*qo~Y&9s}50; zY2qeyHW<&rnT@1r2h*6YMIC%5C`$U$#*gD~%Z)9=wKDh#fL}i<^3hkmHE#3== zF#d%-p1!+vBmD!1gZK5g3s?20X;0IFOe04LZ3Gd+X59_~BFoaS@);UcgMW>Toi(=u zoAs3SksQs?j@G8&Lfe23wH8aQ-1I+@q{?%&<7jpSRp4mk0`D?^`mdlf;;mveU88a97)M@ z;~=yVB%0AaIlj6@XBGhu$bbFm4BRHAZF2Pb;7tQ~ouXU5@OdjkYGn}zGHm7o^?F<0 zj+b#2=&J_CbY~0EFTRzMOU4Y1SCP;2Gz`=qp`7ITLyxWO@qcb*HEC!uXrB@4Dzg#n zX#}%W#)W@75(|&u(6?|1F`O|R=2A{Tax}v1iy`T{i4(1jB%B%UVkiG)vv402Yhg7C_i-Bf^G=$hwB~2=4FL0=7Gy zBz+1v5cqfFJ(FZ`76JM2lT8ggij@3q zM+X}@S%_#vSa`6lA`pHwmA)vg0|{doygm|F6oBZ#VTKi3)ARf5_vnQfgEkSva6|b6 znwKix8#DQD41a=ANaCeV?E+g$b`!;-Vx(woiIM0Y+|=koLOqvq%YS&knM*kxF(D60 zeF9ey++S(Woxqujrv(a!p9;SE1lxBOuzn62C>NH4AsIn|rK(gGr08vr$;IY9JK|gD zxoAqLKcV~3D{kUj0LCUVMz0J6**3g|$kNr^7zXd|OMm92T!Tl{Ubkuzs>An9q_b)@ zE=j>9qO3~8X+0dd`Y}(+E8<2Kv$aDeZ{+UTvY_{<*7^Eci*l|M00~eO8r!xQKQP}K zRfqpJyQGI(L=?fp(PPfr`uvl{NDW6aqQK0A&O4S}Lq~Ua8R7|0dUGEYwvVvM?&FN8 zdjqRnD1W;i4mKpHuRDH#Nn*;6?^F^>;fRC*tyb7FO-RQbgZ23hPz2P;;Hx?!cK2gT zWJ$?EIWAXD1i4JrGIK!&KN6pVF&QFq%n;YQMcc;22+ke=cIhJvbj0jkW7C(e z1AnI$QO*02%tHBhRseod9$p6H)SJ{lE{qhsXaz8nv4liWov(t&%`-bHt-HFmz)<}p8>F=y$&rs`xK6d39y&@iG)r>J-V6MaeL_4RjU zE!N7X7Z7pk-mPmGFnKIX`dEUF8BTd^&N9q~rz0Kh3$8IlP32RLw0FxuHv}7S#dT-3 zeMz4N;686+{J(5BPmF&{9l8vvTs|*KyvYr!Rp^*pTM;&d%i;i;U*Z62cf2b+l7Alx zHty|#mVz%JwdV~yjD@#{^%;rkjhpDvea4qcuYIkxG;(~TamJdDs%v5f@U3gzLjpYo)xAS)jHd}S!>DWepUM?%tgmnU#r-bkG0(O2uhA}EPJ z%@FDkTZZRXL5u22?mmVnI#eI&X@BE{tI)hG<5Lz6vxf-RbI2vN718$0Bb!Vb!_O0C zAR~*geuv_Zdnn!WrN0n%vkw*#2JQ_^qC#Hkzu9Z=dG7If^h@jrql+i#^wrc76)urk zS-_G7p7ww`*V-ku=ALcsO0||Fm-Hoi88nwn4_CvSX&DvMN_Lcf95(B6C4cV`I45z) z#pQFK-%|nCKMS};!AJ5x47j)31mG68(N{x8S$_h!KG0&@)h{V^D3K9FH@cQqTobKW z5FFv!1`5Jd8Cam##1Z8x-iBfrE69Tej6qZnjjGpwS14bC9XjGl z4qBVRh$hSpeek@MGCWSXV1Jcr_laO}_wx6=1=gb2$$)ZR5l5q~8Kh~#B>e6|W%T`; z+i{QoY!t}a)hSH~^+!EnmTPoejErK$M)B~^_$)pO;)CDLj$(0k6qq$#rSEROqrO+U z@EGZhG|inq%v^|FlTda2}`lUFYkn38VtWQ z2XyO4`R+svQhj_$Sbt0jLhy%N$7=6tw=oO;n_bkfFojjys+3ip5`dhX-{95^`NFr%cU*p{?7sF?E*>Y{S zAid>rp{z%aYCCjFcX)I=ABKQGuof*kwRzuHLcW(cDCbnfQ zK~`ZIv3gzO&K8&-7Tr_EM~W(z$kwizM(&*6LPC*PkhysxRFnjI7}Awb6GCvo7`3b2 z9FfZv4(CMcAAd|SqNbatcMJ6nwL-z1-WBNGOua)cF`$UfF3qGqQST6(f;D}Yp?4$o z4zXX5Z{c@Sx^ifs-eJ0pVC$o+?tr3hKj{@J4}(2*M;R&WAM^@ABRC@W)um|d`a8X% z%#D|L*1L2MQT>fxk%!zBM$2^S9qEO$py029nkXLfWv71 zN`w?=h|-Mvaly36h(Di+$wq+76L$>{`f@=~3}2{}c=(6(b|1`xwT5Kn8AbfsNEpoi znbhe*16lOMeKsIxoR zbo5Y%{m{W-(+%Q8X6ma2Hv=8SzKeFKjUqqLaDM}&_v!h=>C_|?y*k5_*a*t^7F?jzr_TWCBm>Ep>YL`gmjjd) zGXj=k*ms|^iqW_t(XuhBShVCVgqlm^dO?lQjlYDMB*s@si5oZSHEq1d@grvllwSh`J5DP4$*&UpuIr#U`7-OA2i@Tkypx{WXOix z)QsBH=@QWx-IO#LCek?3CPe!qtX@~P5&!yw#;<#v%O*Se&K#V;fi+0l$vg{nR-~ZW z*ECkPRumg@9&2m~$F&L-OWM4R7$`OSo_Gcol!c9R9wnROTpcEm=p^@p=w5@w>Si{l zgiL?%?hSLU+LuedQbby7kz3z@X^5;75v!U}Ix5xe$ki)#rS@hNSVFoPLxZlf9lL&p z>Z$CWWE)ho4G`-_Lz_br+MFIXP}#V93E?W8F9IiRc*cZ!giaMmab2ZR|1PWGP}nGo zx}<|T(3mo5=p0dF?DGx-)NB4>CcYZvkE4G`x{m*WcV(2jI%QrjJu}4FTQk1Cimj(_ zV(Z7^jAv$BX)a;AV%bM1`QH-SsCM<0n7#9tu<4{*>u6%e&nsm9nz<*l`!AO??Os+-pH_eK z3bCr3e@>UjuC{}_h3M5#zw(^%Q! z>WZ9a#3dD}boG=~Tcy+=kedmFo{UN=w>brNj?${t;L^Zrs@BTKd&-L&EV{;P;M__9 z*6W$rwjJe0;z6M|xTX|>Z^B1_Q7wPglC>}*pV#66h#zDUot7PEc{b5bu&P`mK3E8a zMzbmb%ol?yvLGmRWBF6$GVj>%ZW+GqH88=PT=pYuGRv};KPe;bSdMspcEsI9<#G*N zP*JGsxeq;}Gbtn1Bgp)4#CnDozZ>z_YrGe$%5q6=%ajZ{nqfgM_WVF@(z}1a4x2J9 zG$0lB`dTsVXwpNu`g8VahX~ep$vch}4FmO*w{z*bB>Jd89~olhWmfeg zJY@g3U(%f%=Jvp6;(uL2qO9-86%0jp+)nSk_OP7@_Aw#V&Rm#pcP@XwU16p_mE`&1 zXg)PO*h27ZCr!HAfOcn1zc(29*gifGD9i-iZLvm=K6TZJN+L~S>F0^Jcta6N#3f^b zWfyMNv8iR$l^U0*zNkL}3nhE0l8+_cdf@EbOb?$+>Y|OwBW@Jl)8n7KIR;@;;`zxZ z!}ZeApBW>{o|Fpwj?gnuK`|BH5yDVP3wM74%jJFa(c*I?W8npU zGIHg_FjW$!nQZJzM4?8v7= zQko|-yS%$>#fN`@k&>_FKFCBb=m^ZAQds(k?I4q zQlj7?Z7cf!OWA}|;!Dy$?8OG`Rc=vaSl*#?GbH~yN=oldN)b|R8r-P{ui2pe%rpCv zUHwpa`<}UYb;5jQNU~=)`(n`+Sw7AUmb5T%!MDWZ`Eq{|$4)5@#^e&R5tEhjx1ucM zRJ;>eUEFpGJ`vO5MkzxIjKHHabMvZd@mXHsvn!WyY74!_Zv25a+Nd_`uvi$BB~fyA ztx6ltLS1-1zK@Y@b(T-BKkS$i22+aShdo>!AQ=r{6Q=IMQ#gbYK&)xPE3vT?mNa8Z z#qzALOyz%7nJ~?m)`4Bps2KeF>k-2mjoHV~_D1ewt^_O+U?FezX?ORMe0@*l9bGF` z<}XpRI4`dPN|pc{IPz$Or*dq7*K~*0`ujt)?0$vuas=Vt^b-Jny&EZYbZ;}wdX5UdlBjKdZoI|>*6uq3~@`XWH6UCtG?FNb#Vt&JZmb>iVfcbr5z&B zDBKS~2)MoXXIcU9tTTvs=@Lx?xfeD|ryRykkRp^4*RFp=pEJhoyc<6kC#y|#56p5CK2Qfp9|#LR zPq=X9-6A^_zfXFIA&5>E6C4MI4JMT+kCYEBg6s8@CHP-aF)tYWn^<~9&sd*b+ z4%c7g#9o&lSh<%|_XW?*y&+4cz$49Ps*dxBS2mQc#Ys1J!%`?7aVV4)Abx518Z^Y^ zso1<&@aH#4@oRby;!;mD8=dAAJ$8R`OLN{O!*l%_JD%=H(3Pw$vPxlYp!XvVsBcoW zk}mg}np%szZjgT(1-)M2>q>R-EA>1K%w7?pPz+H~34QD){@BVh(xsB}wV#gkH7}$(IGOq?hZ| zm(vOwDaaj1(g}(k?2`w>T5Nyr<+oneWr^D5F<)*KgU?EQ>M50{j~M^Q zKguV@u1&U1R(^^U$|F0Z?;xsQ7J!<4?*Pi#{TUi!9|~( zQF2pg^S*%GG{#^~#mj#h>sGHmWBb*Hq}S*73*Al50$c05%|1Y+q}=QrTM!Z>RG<~# zF{e&00>9f9D{4s4U4>TApFEJD&o1k^y5gN?`@-JpxDt8LSzG{Szhp{wHzwNQ^ONRI zKp!-EN322VMw9}lyL=?4Qo3_kau!_>kA_vs+DMmEBDDsnpLu^5c=hvTS=FCm{w9A& zH;oiYy?aZlxEwluEZm!tx|V#PIE&K>Eei{8i?QgJ-kyX(fA<0SY!}W^r_{fjBar55 zO4EFxq}7*5oCct>#oz+|v1BmzAE@s4Xk{ekep9zFH!c@S@tdcshv}RI12oyYGk1gN zJ6x-^-%ujxCxw5xDY`?8eiwAB6)M__qCqkB#21p0dQmcdT9pI&NYroV(G>`%=oaga z+<~&DtaqvgL>|K!`2JfPdeLt zh`V@6{MBzqHp6pVU(m=lYGk(_`9{NSPjni`UaTNI^{eCqSU?A$_Uc)Y+aawH zTs#fPXZ8Huc=9ggL~D)8Ndu!Ye@ubQwD9UrP_*cbh;DBFW&j|Mn10Y6$bcKZ`>XSZK+crZ%xw z8s_4q5)~hGlTFASk>2D^t?f9q$$_esZDC{*B~36bCRMQvL#J3x*COLh@m}}K(o|6m zIG}KEqrb$vSG&u(g5N7LEq*Ha1!i?uDlQ1%6sCXDpn6MwvcLzoz_dk(=9pTks4I1G zjziH`4rJhhG(=fy%&t{X+CH)!wHK)ODk!Dj+Qp03By7k*(}HQ|I;4!_nJ}DX&)&+? z=-(m&*acZa3G*sbwHK-^m0_q%mrGa<*ntnVYhnj^{6rxMVW7gTFE##DwuRFESN!rg~dHiDa;{E66?lCvatfSJht3$s+J zg+tBGz|DZ8!QUS9Krru(dpaYx@^zoi$Sr?~iDPp{TF#`J19oT_`gGY5YE?T%*h1S7 z#C3C5F}OneVW5A@ zP`_!aY!HXi)rw!cvBH7X@<^QSuj^>9$f3jSh8PBNuymG7nmZK4tmA4z*b*FuMPD1*3k1rJPzMD)J6 zp`Zb(?QO_|Jp^|@On0FC{ZKmn&fkCUBjuu6@1(Az?P*mJpx?Hd#)W_&F1l~FrPU)} zqJDU42n-{#SD>Ti8C8Qr&(jvO7v$hr5nN{$K4USB6$4KqeIfd-Jw zp^`l)8IJKZjT{MbWG|zl194Xe%xBn|H#k=LN|XZ~2eQF_5uz-E!o9wX3}Am{jvlEi zx*&?p-g|blaclBXQ)))dw$$o|KR410(lN%zhG#V;LSz>j1=BF z(p~IO=1Xt@(vSYa;g;ggPXSrEhdOWMkuvEX$#3`s(enQL@Ms+u{HH8=GdHdn%4#lX z9huvHbB`Ld2U`FEJmAD+?|sRE)aZnJ3~(uf%s9eJ;+GQ3l{gHlZB~D13iF`-%$FD7 z=;NYFd_nZCu3HqAwxVcn7xJ=#Eaat2VPN%&T?#7?RyY!StW#|r7~r-Tu%5Y(&!--j z0(r=8&Q-ptW1%wb;1yJDr?zwTO_DXZ^~D-_UM!eWtnPiE#gf6bP=IMJC`U+}Zixt1 z?o2riKo(SVP-*SyU@(7IoA||H53%P#;-Jv}vVuI-V3$`lhvc!}x&O(jDVC;>WI!jO zb^M5d4NOVsPzt;F<-@nYx0E9=XVBa&YxXGdS(dIUej0z8n+(Pb5%yWfy|Xv0 z^D6^`Gs7?06){$t-dSsbq?PK34DAsaGq-EmRc)l`>D|=Q(>Ws!aeY6xck+9ZpA7x= z--a(_N*%q}_uO~BYJdAPafM?n%eCWU)RxzV?h=2#TyM0tiC12Tn~hTG7Ie8JKi*E< z(gO5~x)|m|v08r@L_Og49txapVXiE^1J|X~&*MpStv=o|j&9{Uf>7;#yi^(B`NfK0 zu!F65V?MYWs`$z4tue5q{^qNWfifUCc8V(JCTcrsMfc`e^$At(l2zQCdy7@pROLQd zrI~Rru*#mbqHb{?5z*3VDWHfb){(htnEUvyl(#=RIBtK%p;XWZyyX;Ka*w$@#2t7D zA8uGS|L(mKg(+Kq3mK|s^y0e~AQ#`bCogy44h7?bawwP_Oqa5ODHZR;Oczg4HkecS zz+D_7C}>IL1+j|OU+emtX#K6OztiP};`RrH;tsl80^p!D7kmwLR1z#Ys?&&nY!N*! zeAorimy~~88eJEy&z=}ZrJcxsmRfrQCmfCJmWrIR%?ae+oOB=FwKkPkOzN);6;vR>+ZaPo|43(MWKS76r0KK zTA#+LWf*(j#Vf=K@La@J0XvzQpQv8u4z2;a-KNg zRrNN+0ak~on_h}+ZFW?9zs7rHj|d6{e}(=(i)xI`mJxcP)Q+`8S zL`5jFl+ABbqC{L%6hJ~0RAIF5{_aYS)JncOr6nz-N}cvPK*_({cTvgez5S@Um70IM zJQPQo`am`JiKg1QKwtIBj~bh(#(GX^O^p=WALk8X(u*?Mz*ApRev?IW@2P& z)rNvr&HvS^H503*nwzWUeg=TLxz@ki-0KgU`#C@-ODc(yAW>3Hl=z8~*Z4`1Y_f}b z>E8X{Jt`~Tfa8&l%0S^9Zyy29tO4#_sG zNnnZ653s~fO57jRN%ob*Kg(o8lLQ^!ibZL2F#VR*t@7k12DOtK)p77k~w~7 zW|4#OKhQt5yfyx*@e4AU&eDIMAXh4@cZ?FKYgI=U6oE0wsTv`s*w90 z+K|c0Mo|vnEF+E>K{^pdpKK->&55V)u$ztExyoUJ?yk4f2KiFL#HN1)w-;b|0*Q1w zF_(n`JMS^Qe4KD$)>nr9$^@^(xc{`kF{{Px3hNUGz|6JKIw`AB?&qP3|FR?1a$_I) zWR#C6AYxGJ4fBYuoM!RiRMR0933~ z5?W`zwWlu2q;c42Cw_mB{Lp=$w= zGa0K8B9%Y|t^kE&yQxH~Whhr)aB*R)LE;t6lpU;bo%Hp|boE}dP$RdrI;y4IYt#oY zZD<{=gmZE{ZCiCECSiEr@bq3yL}_w;lqVV9jN-hZQ|5nO+ZvkSegT(gppNbpk=I+5 zs+?Gr4&;{XYX?Be_UWm3@SI>tuQ~%<3P{ukG3U2qYrAzHi>$>qX1GjSC1?Q=-=LaO zJHGU$HlEt(C$E^rZxZe<6_WLBu zzWN1{=_`L(Kd+m|5W*Yk^&|?m_^r)a8AWU?(+#Ym{y`k_ z{npw^_l&q5nfpM;+Hc#I*q>*pjXm}?k`0aV(b^Mg&n&9f!U-m><((^pPq!O|PnqMe zw%C8D5P8M>-e9nYpD*onJa7+KHWgP3A-X+hA$Bf#YW#+=`)VzZ;@l)_jAy9XNxFQJ z&RmZVvJ!Ni#|;dx=@0bi(s^!o;KjJ~mf_O(XoGY3=fEs3O2-3Bq(}+-nw0GQM8>U| zTjY0_EYL}#z9k=`Jz9#Jmqc~Y&te7j>yUq!1-??MgJ7#XCx<9fkhEb65mZ%Koy1Z& z3tnGc;Xxzu?#M{^2);M3$~jG&p7>nT_wF(4!uQIEftZQz9nCRhc6-A!A+{aQvmQQ; zlJ-WXN_YwB!>1k0MfoQujFPp<6IPh96UG_jJA0P&v5JLSGk9W7X7!o4#ud7si@blv z2usGHUoscMxl2^SQ&OMl>d1~NFthJBG)_qG(uLKUnLB5kPCu(?$RHa*PzrqEekoZn z69)j`x$v`xf9HJ3B?~@Kbf|2NOUa(ig2$=yHSNKrK(qywzTJW!t#3oG??cNhZ`*oH z?b*UjnUM11RiB9HQt!kqvSY8L+@OE_IziEFz^hYfTfmd;@+b;)m0#XlTBrgxo%+?Y zC8$og!hBhcYe@3%XS|G}Rp=@(%qmxbk=|Xq=UK4<;&UZ@vli(%#x0)rNrG87&xnb? zIR*D`=&4k9wmMfK-`UnokfHu*DvElrJiX*4``w2-2+nL!gYDuc8#ecPdS`z}=OMbE z1<|K$CKI-wZpQ2*-$jW*$Ev1rnWhz}1fcV-whX!k5KJ zKH-?sqnRzji(nz>W}n6~OIc>|+gvfBzEaIuMc(jUV!%FN!)g_$F4Eldxj$L0FyZ>RL0>Y)~RNW@CU`ac!kiNM^vEs)^y}aIH z=u<(@D)RCMUy>@P`K#eav`zag5;{T>tE}?oN?qeR>}^}}TH>HqdCor`ef{weKYm%j zc)R}K`0pV3X$(80>2+h6B8~SP{)G1oSmlr%`3n2ZsiJOt$$qcdZ_s~C6%0@SFRwYy zEi9`%^#{H0?BylCT#1pZT-pDnm5fe%tQ)#zi+9Zif5TiCFPT^6HCvEtR({LMZ<*%o zhW)-~Og-ROy_i>Q3`bUf&-j)bhKJ$X2iE4@nQ`j+7p%?r*edLInbmn=W&>hS8h0OC2B!^`mU4#MFM9^&Pr=MT>s z*xb#Jgln4q-6Qs-pYbZ*~9;>JW0uHNB#t}4WTtP z#~XP*2S^9cG`FufXIexY;YVa>+>|RdXVy5_^D5^~HT)6}Ze3rP2 zuQ~%zCp`~)dYYfK?Cf&TTje&o(|aM0$J?GB8V6libG(1&@lFMT?QBiXtc=8ws<%&? zxXVNJaY+wzk!8%Dl)T6_z!_`T076bHqai3Lvyh}PpHsRWP*`4LR$SVQ zJGv@c-TK%@YLnVTy}+Bep(YTO-hrOEPFFmV>0m%tU>Dyg6cB(Klh-aHSxzYq!M)cG zf!;#_b$NgK{cYrZGoo`{T_~OFQFe6YrR!YfCpmw7t85w=%R`E+4`#}VJ18IH1*b}^ zU`qDkrxU;FsPAk1<}@Y*N0dQR@_xkNYYw?hnl2ZBsdzY>(kTl_AA|zR2?F1m98M}; zuYG#Av6l09!Um%zdQptg@B&wb^gsyC;qc(5C@FthX1qgy4({cZx+Kt787i=sr!572 zjFnUPszQlpFg1WXP{IGh=-a%0tE2v>`^ftuMew^j*JOpdg>E_vm-4rhaB+;sKa7uY zkMhhRUUF`S?pbEMrqWG3T^}f&Dc#eRvSCjBno^%Mkf7yC_vD*>q6S9Zky^O)CUnbL z)*FALEbdIpF5YzGqf0s25*J6UA^c)WhkU$5&*1;h-jQ{uj`My{=Nt$-k8u*hQc4-x z()O+GrEGz+Z@>PFBs-BqLMgYsGjq=Oa(l58#g=7BmbI`@TSSik_hGn~Gr%1OHPi6U z1or@v0y($`$yHuSr|5vPWG*TnuQ=A~OmTm`llf5QeaWLSHHN>ABrNkXAIe8%3Uq32 znrp(r@CGhodNaDukqOD8NnfX{=zRYnoZO>$UsNWDlf8Q$PH;4RN~(3JH^Sje#ERmY zC$yE<4w}X(OZiGXQJ{hcnH24bH6VAlqKhc3)Chx46Ec+e``DUg*zICJBX1W6suh2f z(P2g!T}P_5YtAgP%9JviMJKqBySw25woTAwiCq_oT^G;>b)SERt#J^!XGE-(1GSPk zRWq-@Ko@E6g9i$fC}0J;RV6!PY>zVOUQxn`GTx#NEK1{^v(_^H*uX^^iY!I*dT3WS zJ!_q#7!HbnI8X${m6adHXn~%io_2re(iXFWbp06^^&s(F+q`LUB)zhm=3o?*cC9s| zQOwjRG8k>tKAexVMWssYHg>>eR|1|_*?>D{a}|!aV;WYQ4|pW5e`6H^0oKZnoAmdi zzT>}axWQCj%#k3r(5G5co?!R5_jDQF96)vtb0GToy^_er4sT{}<(k;A(XxLwWVuuO4VbBmv#nMW0m_V4Zwl z@*(;9YCUGJL{6WT-hVg8NL_zW8m)ntJ2ZfJtnL(6uWYn^rsTR;;?SCw>+a$tuH5Ll zhofwn2Z!Rwuh4$_p5sAhnuaI!$f-y(?*H;P_R--5%Nlr=OWP$aYt5n2+^{K8&cvbX z>65JSikxgZUMwb3;wp=nSXw*M@U~UhIEF<5ew5H>NBAk(v$zEuRV06mZDm(uxG{@2 zd348EV?vv0YyQUOD$}OZQLXEtN;kDAj%{Ku=ypRUa;Ky81H5n$bdr`%(FYfeZ-CQaouj01E|SnL5?>MRr7yHYaXj+Ps8jaCqFsW5w4nN zJYCp4CuR8}$5BF+1AUaNwC1&H-f$RO1!Jc@yjKqg3*Q&MBF#%%=*1U@n~1UVcC_Kf z(6QFv_4_@of1>rb{r;)e|DpARv2~{P&$WI?!*aXO9#|fIV5Rl1k3O)``nN|D+-d#$ zBlricKYf4HZ)p9QBluaZKX-({yw+bhf?w47OGo`>t^ew%Kc)5ex6$zpw!D9M)IZYt z$69|A2tezfY@_&}YW*Ka{WGn9eguD^^)I9EGi!XYPZ?PL8v4&q+<0qz+Z?nGV0Yf% z%G8^9wQTm)eeadPqG%9f<{YWW6K1v2(ofY^Vu^n@dDXRYpgHy+`#ZeKBJ2$d5l<7#x%eOa5 zcsh^*ow{xF|1IjIF@HIA589MMqC4fB@b35H}jeF#T~7TFtS*Jxq@(hVMxmtsdJ z(;$C$QOTyCMH^OgAU^EMpxe2WAp+WL{S7ZQwdke*haJE(5{kK+8k%!%~WnV70pkezhCDO0*mpHAeFS~)L<9u8)KQraD{g^XZc?SX&8 z}qDyEFrRb`Szz|$~7x{F=GSQT#uOhjgu$O z40|XP9gdlU5ymXeGenb%Oq3=wmWF94n@jOVkUA+yk<}M}Q^+XZiV^WFSavce!lPP| z-$Qw|HrnyvTe>MvBaJq8g7HTrw6%Z0vLZ;@hQ-UNBFqiJWK=B^eBBuQD^gx`>qO?5 z*V!q`^4dorG7>~K4n#Eo(Slm>7GVY(Q?j->D@&Vw21t3!WCJgy5PbE(X?U+_IA|qp zHm|f<)l3ol^1xdbMqcBMMDrH$M$6qP((y^s-vcI>i|En$1ySg0p=9FnH&1__!F5xj zkdgizMb#el=jeo=_Mgw;l~h5fjZk7v^b_X&F@&HTL6;KMy(sgI@E&f*n^68zylWB5 zK0fSw;qtv;KHFBBvR0=>1@K$8Ql3nybwC@clY2~(Oi-t5RHZzb(k1vn(c~;4=oE{_ z-DJir!)PNrMk2X}RtwxXrr>|rbMGIDI*f-E6b~x|^409hW2+}T)f%MfU1F3V%hJ1{ zd+H$%>Q4*G>P{XkDUtp~7GuKFPHy2oFBsR7zM!{#y7auCA;5z`XSBZMX8-0AR<6Qa z<>s(fpNQL5ND09@XP838*PoJuqDXF-GL-K~{K~M>2%pR!i)BV9b5?&9uwg!u9`mt} z>M_Gwtl9;O``m^_eWJA}Pqk}!w0pQrl&)V$l0poRNgp$iQl{42W292cl8L#VAyap2 z;eqP=x*<-r^rC7YO30fHTfV-aYCAI4*26Hrwm=|ap}B}^ckiJQ#5M1h$_PUKWHm;roINogFy)DQBBcN3 zb4JAlZ;7}CsX*ni71`yKVmQsIrZM%1!Av}2Fdki*Q+=o1qyK-$XJ}UcI^-*9#aE1w zubB69Wvg4L)|PqKWZdTYh}$s78LUHo^ARmo{4_=q>J>@Ul&P?UtUU7!3dPK!dPo&2 zSn4w^sxW7^mNF+Hv8^E`o2#uz%+{A)xJi7aFk4qMyf;Up!-oBSV%TMJ$eL7saM)B0 zAWOr(&d{*i2h@LM^P&tlvKh-QI$z|g$)dWul2ue6GGP_fs3U!n(=~VMHrey%IJB!w zG+bXsx8XHzuu5;E_E+TGOp_zyqWOkIUlz7J@w~`jW9wa=f!cWSn3DIrupa6ldkE#nLyOv^)KwQJt&m9d(Xl;Du~ zWLi%N+m6Tig=LK`3$F|SY)4VY{eiZ6d+w6;Y2j)n18}~aN1IxYAIPadQPP7wh z;nuDWCGn=)bqyQ8EOUP-vB-{R2RyTuncm>h^IYEjAq`vWrdSF4i|Y`R(|TdC+?Y|%boeo#lu~~WUqJVX!Ozv zr)bXv&C$U*Hhg{WaayCH;OTWsBQ(TLjgW%8m-ur<;V^5*m6tMKD7;eJvZ`EK08HZ` z_E-u>FJEl3UB{~_^Uy#y{IDwv7+3ZIKS+PGSfB_$XnGKE?V8tHQGTV?FpmTANVV%D zdZo*T!lMKi$59PIlBzeAq^cKkHXrP-WtBwAs>&rw`iAJrxCy@6n2~MCN0B;AMN(DO z*icliiGm;lxcqc&Am*4XtvXg0V#f@eC9bL?$DQXCe~X43EXw>+w2XwKLJn#wiAAw!n$(k*jk0Y-7oWN93?-)hB zlcU+*E2n4EG8+RMo*CdZ;8@&JT$#+E65yjbOM(FZI_&>AfR(-ZJ`7oR&Kb`{TZZBh z982E`u}$L`vA-@xY@8AE)J067bbfyYjrV4IRe`q-0=|_IcQq1z6#W(~O?!6?6Yq7s zOP8SY2tJ#)GRa8!7;}RpL4S-on0hm5m`$^`!)(W|AXa*hF>Vq-jEC3>9)4$nt#E>! z)bRvIUz=bnX_)>54;J*k0@LrsIdOnCVw^)2pkUdnKfA4Zk07I8rOG#$ov(lL{r)Bb z#MaJ7PsePP9e92vK$>kuoSz$zSN2R~&;C5J8zHivM#spW{VcK@=cC6*_Mp;0WVaF7 zaSnmNtnz0fd-~^*-3*c4^^TD}{aIu;&qt4s?3B|)WVaC6zhc59L5V4z&{8s-_%;Hyh?a-WOEp z4@~Y&2<5%vnfuoAjr^RQZhCnvLEGv-5CBYoyt4A>voN>!GLhgc&2PiY_9KN{oC9Ko z^HCw-dwHiy^_C9S3=6@e?FHh+fuzCy2S!!E7j#skBY+gY_og$tIUIj9PbN9J)PHJn zmyB{xP|9|hp!~o zg39R;;49Yq6GN=L==~aIa|*Nf+9VPX3n&B&Hve3O9-Z<>VHe>d$n3WIDm<`ksORjh zmg(&9ZqoWdj9Ycw1Lm8*BLMiQODGSEXg|Hr)AG&?zOvaISqe8O`47xei0&4vt!6=t5HCeBr2AZOWpvD- zT6>CW7k?n!w!FHUKpGfoYubv3J?;WJ^mCUtmNqF)r zbNN*E!mlg|UHR)6sj&7bcb`DHP||)+L*P~AU9X-Q%0quSI#cj4B9yN+Bjb>AE&G! zanS&w6&+yRofBeQ8)sS@=hFq_B;~#N@%#9M)}21xiEKXT&GWgwV`cM_7A0HF$1h4o zn{4;;$r``EC^5+T-pS^)$=?5Sll|=_g=W0J^Cy4H67+b9YJhx~e95IYFsQLt&rl$M z5%otF3Gj_zkf`owf?lyl_X3$EnEj$Vc}<#B@dwPfyaCqyJvjNI+Zg&oMuTu|}64am~9i|w&!7+4D?8bDv* zqQUvq#er>@&{;`x+YkKobW&*#JdLeIqY2Qe- zMz+a)GrQ%DBw8G!HsTvQoabK7^Zr}sIsJc)(el}U4No{vFMggRnp`{FwD1$ZA_t@jA#6)tu0Q%e)(P`{|O|;5J3#3otR&Mzw6&1ZXbV1 zi|d%fblR7NIg*8?Hve)cMS%gQDLZ0{i`Gs3q-d4k#+A?DlurrPKCZ_LT1q@C6-ZQH zD|j5siY0NDv5dVCbG*wk>^D$a()Qh`$0V6F5Fh;KPd1Gcsr!K)+^~CGk_QhyGeODEqzhIYr)+N=J}r6tCF^$H9z`v9 z`2C@Djv_-2G19>(;Rr5d078HAHzz%! zKz(+)F@uc&zF5L9ZX#bKYm56U&e%fM$I%(q$LMmNG(S!xX`Z7}#4K!_9+9}NoU<$Y zi(+|m`FkOMOG`?sa{sBVv&=xY$v_*D?+Ih)?@lvufuke_zYXc3s3B!Z#Ga~jB1YBo zX#E4*?hj|v`d1eKC>6cctwVqHXm0?a_N9$ijU01jH6iUH$34!cY=1hRIkr6+7ohoT zv&mME_Z@Ea+$SSk63JwLgAh*PA4ZtQ5gL&Z(spn^xos+t9lll!&#tkS#m^43W2E=D zI-X>$av*n`W@{tzcs)SjAzM7jvM?2SdDX|l5rw)uxYo6UYddmq#ZZ6AyB8F_3n_Y~ zYj7Xm^SAWkJzn@OX=gr?mrpn3bA4fOf$tnn7$#$1V~0=AD!hmKWn;P&?DPr1C@u** zl=4RpfGxmmZv}zIP2zZ!$@wgovdA^cjCYR^QJ0SwVSxAFbH?x(5XTO z0$ai0pTI5mgtfGL{^}%5q~*y8MPF0>MRIsce4jo_LqF<-?d2XCed`n*JSEV|0+U9syB*ja;`&>u3nbC+ zQ5QS(kCO;3W))PY9Af+zNbDBkI~$-<%{sZ0d@PB6KgiBz{NO^3<7o2dC>>U^AJ?gj z4y8D-F{X#uaj)fbxi2x|CCFB1)rsFrXkid03QN`XzBo+qg;X@i(iB_<#4mrG3RP>`zEJW^FpYve7P_aWL9 zf$FS+TDWT`9BU+-e~YmBkdIf8asS&FN1DYuJV5q%N(a?T*O}OWWI2@tczm|Uz2soj3E?zF=JDm_Nft?ag1RZ@Egbi+D$OB zd@4;XlBWOa#U96tyC0UN$=ZL*iCZnz$^4RH*@Jqn7Rw&ak=9-}#t)Nukn|&GVBLo# z-mNkl<3$n!5^`FHFXd0gc+8O&dXQ$rnOQr{WdwiHGdq~I6Rw>wSc->*Vn7tuF}u(O zgmS0rE+8)xsy^A4ek#t`j$D~|vSYpqZ3g}a%Jz9qBg`4Z$IVPk+L4bt|D*28+EYcM z?GN&NpR>kC3J`}FHD)qz#w6l|6OOv(0 z--drN-ygff8E5#Y@Yo*vx`3(-qj2z7yu z!TS#Lit6PBLYUL#IX(nyMmCRm_v8pz;ea0>LjHx(xc=3+7 zMJOR;;EtR=ugOwObKS$2gbU>de#P$%S5r4S%XcM6nP9$))SuS8>4fX6ce1bQ0l=19 zZ_CKJ#U0Y$7W&yCf7T2>t{Wn6syD{yDc#FK9$Y`MJM6Lk67GNL zp2`$giZKgflj<^&@GLq>7Vx4I*QFo%(e+7`&gFDSZLmf81rE`& zjXzgph$8ll6&hK4){T-58Gdwub5MVZpBYW&4Tqo+yn>z=TXnuI;Ibcf0rl!?<{O6E z`rS~cN^QsdTiG8cWY8* zs9QsGadE!CKs*oq;qkj`*7In?d>)b}?eP$eQsY=aSO4vmlCXzAh<}YnulQm|0`qQ1 zTr1C%$y9=C<&mmjM=q#0m-S!I#qVtJ&rBup=vSi?S)~$o;~-@9fF!!2FU7x2Q)DP* z>1vwto%lu12j%3;;6tK8HPC;cnnHuTg<0OZjkAs2U04=S5pP{~@4wr3=meM7MTTUS ze;}l;^lR2Ix+Y7kNhVkmNLQwNJNQjxZ1HN6{FmEFB)oP;!ikIxhAn zo3Q+=xvXpF%z^pQm2t8EJGxBoKhtHJTFViIta4{0%0#1*EN#u3HGP2_CaW`W_+=O(a#+qNu# zTSaXd?nXg4IksX0aS{fSWur_h)l>(v#6YG7I-VKmcx5=et!rb>bzk>JbRcQ-7XvwA zAUD4rNLQ;@P^Gqe+=PEpZ_Cr_QXo&LK|GnqYY?Ah=B`k1VXqV=ewLOihmZS2?5kj& zIrhl`I3_I)3_iWk*L=k4duFYT!+@*h?pft~JHW^wN?ot@h1i)pme&E$HKK2HN7x;_ zYZJU0DvvD1`Y6J;`&Ya?yoT@QDfy+7l3&(oUx*Ot6S2|#FSCE|i0q#B|9q39oU{^v zCurxG?v&}00w9l6I*2- z?X_AODXq30J{W(U`2fRoAaB`X4)}n%kjcq1;e9O%BUzKA!j;%em}Wr?^Ur6r@GR;5 zS?d?;scLvswm0&q>~7>yVI;U5ULQo>f6cY-r+l8uTUqRWE368nD8Ilxk}?@mowEY; z!+DwJO*7oJ$C)flOz_NO6xQ=g8TU2wohsN9oRutK&sBc_LqNR0gR5LTZ&X&QqPO$7 z>9I1SyWf-<$u(oV zCY8#ck0J^$^Ytiy)_OjyWB%Dy2*dkyu3j0r6YV+Ymv$>ym<;#Pb*V6z#1)ptWAQe)i+)jXZ@6>g1vTltBfR6{5qc%yU&%ae zr_0QueY`H75xY?9e(c3|9xsMukK%PaGmyjxJ1RIoQ;~+Vwas-bo=0;gBfYge_bwS_ zw6e%Cr`YR%(zCY^M0K=vmBDw$@Hv!aHaV27J)fyQVI&N_bo_X|@CHx1 zC!`1ZDv;Tl4kvQnYB9;H`7$S6pe8XOPEg2yRmtlu6ssTwP*a4v%ugME+YMV5^lV9^heYmqxemBz#J(#D z++*d>2c_suXSh8h2_&WT+$5m^@1N+1_wV#T6hc)g1sX9C2f^a|)6~%v3KrffOQz3% z#Ap*%bw(qv$&LQ?Gnc+^RQ0F%JyT92dsF~i8P6e7@eKseuTnSRY*0Ae-f_6 zH@8s{2xC4*c5?P0$v&zY^ER9WtBx6eJ%c|sPg@xGjAD;1un^g&7*&t{YrdN52-*20 zM|c>C-whGLRJuBn&ua(5ys6CvFYi#NFehM8^)_^Ll#HN`Ev;cCq(#nC=~g;%7@4--g<(#unt0TxYy3m>Nkjg8ECpk zHGawYD)oK=2)7Jw5%TA~$-rO?2!va93)h^y&*2CJkzvwIKgQxyp-o8_<|FX}5yh;_ z3)J}L0>Sw;LP1emq_4dv{Mh3Dvid`~*(CAECXuk8hl4&|Yi9N^(m| z4*ycmjMakLvMj^!#C4Hc1!;AEWlp~YZ0e1^l~y%(3;p1@KT9Y{dE@RW(hwx^ZSvpIGR%V0HW7GdpSF@COvGVKL2|g?0#z%45{$gpR5X>aE zESy|Oa&_+KUt4DYqe+y_#1%~&|A$w!d2vNoteiAYili}fB;hD|EvF)8{piHiVz`ZU zJvR>nd89G z?E4J1RIQ-1##z)QaD z*P0Lsa5v1d)S2lJ~|PZg4!RG#21#) zZx9QLP|&4+-cr7r_y>foX6>RVrh@r+tCK;md65l!_3ly$uTN}U`PYDZWS z`+0w^-Yh;7tU^f`qg@+@pw7@Y1Sy_{eh6JUj@plZB0$X-U_|{jV&u>QyK-t%QS=8n zS6YlABWnyaSg0uWq@D~Dk@l6zmB`4`rD9;|mEG&{1UcMFmikuuZjv;F_fI4{-RQ5f zHXbr|q}bl8M5OP42HlL#UVBpf!7K#cG3{f-@+{$cOTjkLztYqm;3k;!-TPD!OB5J` zyP&s!CK>Yso{*rb^mf(CyWjR_U1?jf88u=nG%jMgU>~Zq@xEJZrHM{X_!o2cw4;NWZv43#D5?2fZ%aM@6iFpW{1)m|8Oqd8qaw4BV*N^T z@phNACFiW4t5qiGJ#$YISzUzX=}c-1HXm?*G0%Dqo%EPuKJF%1s$A3Wg!Hk+88>cg zy_3nzetZ?Pw=~ zV?9KCzTw14{QQ=LxV9e}5r@&uMo7PXCFx(Oq`zx#ugA(|3k68O+P6pgivsVTh)DHc z2np0D+mGXJj8+0&suL<6gB0Hu{qCTMNoGf_GQGzao%E$I2BRX{2!|>sSd38MJ;puE z!p_xP23N98kw){Sj5OL6K>rjANTmyZLa^`%!R99@M?Gy+P1jQ#>(HG_gB$kTlSkMr z*Ry-PU(=yxSz{q=}C@`Qpi!CdlNtr8qC=_IHJYi;XXAk%+nN zAKA>+U(=SDWu<^{Qyb~8g(p7S{T0{2D~Jb!cbqriu^zbcOl{38P}Np{@`}(x=-KBH7K9!pF;Y%!QdnfT}7` zXS&{et4|BcqN+FeI5g_s3Gto`huSso$_XRj>u7QKLRFiC$PEt>LQQg6pJEvcxOLK& z|Dk^Be)@y`AE8dI#E!vfuK6LZV-E6I zF!4V$Y*P7;4a-hRNoB;+b|_te-RKqlABX{2@i!mq+n_6o)aa3a5H=T1?@u5e`BL1J ze|B`Fh5sa-_kVJNG|FR&BPo9C%y;mi?w=07uR*Hbv%%2N* zir4f!cmkoc}k|O%bY2QR9R_@?FHu7vY2in=2!1sR}ZLv5%CSvH{Jp(E#d|1!aW^M zae{!gy%m!8!5x#A5hijHSsB9&I#GbP>!g=eV`_jt9s5y6m&s1^ERk-*Hi{<%svXGP zV0ES?h0aTSgux5MHg9TKvCo`Yo1IeJ+?+CF8&!}gxA~|Vu-HopWS5`@EJbQ5Ey4K= zl8uZ-R@n`I32>+w!^X+h_md)Oy7+IdEd`7feHF0r8+m^3YPF`&9XEda5N`YG%xJTRhv5E&sO4O9L9mp zHxoEx$FZ&)dUk%Ye_(Kzdk-7m3+I8Y>?x3*iC!dsaQ0Uipo_eM`imJbqP$t-znDL_ zhtcdvc9!&ueYOV?yX%E+><9tMyy@V`NL(tm&-r-lIVe1X2j-@ZPNa(ywg&tQpjUZn zPYsD}$9p>Q>FRQjWCfG-k77afgIMlWc%$jw7eA=mQ&CY+yghT244fgn>{8g9!IpLt zH>PEOAkMUlQQ1pl40mCkH^-72#Y~WI5b0=-8@{=pjmUb2QsVF!+dehTvi@Z26b=v^?Cv2tBUl>ST<=AHJ8-cAp$9DAru7x221TYwc5zxW@jy z#aR0HmLa{>KIUWT8gcx$B;#+y6z|Jo=D$al4_@zt8+kqEr&EK8d!}KPeE}A6;-Os_ zg%b4a50ZawL;2SidRIXpILX3|SB~X>Z)rGphNsV@Lldz+@JRcBOf=4`IzcE`PaLBE zYz4o#+Nt>;X*d=%9B4AWhEq~hha2U4Z}4VW2@yo|-I);(geP zuW0O*|0mP*k^=FG9{6$ioCzgEDu?B~P~MJs!XLgCMWOjKv7)P19j+U}hgvv)!9XSR z)TPe?554+P^hX|Mf3en6BS}Z2uL2I;+8tC)=lx1A=33EoTIJoDTA_#@=T1x*meig- zAwDbc{)q&R{)3F@e&)%BqdkDj-JNSX`-7tCv?>>eL?hUvXKu}t*x&KoAtKy+aI%** zo#aUVyb<<%S)JkdX2WlZqWJlLiG%p3;$F(RT|*ha{yy5vs9+Y!00XI*D&6?nmQWBy z){^QYiURs2`#D=DY0YzqCt9u{bLc+k!%v>UQS6XxIaAybH}Q^k%nr`O`_jsfU^P`u z%QvM&Ujgi1yONCJ%a~`3q`qNu;Y92>*eN9nh^$^BT4}*|qhExHWuiBKkj9^8L(j}e zwICH1Yig7G8k%e)9wgFTO7g88f{)&|IVmiiIP2Pzk1&vo;Z!+nw>f7{GQFKdL=~H# z9`jT)!LsjG;+$*FRWp0P$_@u!k2OLVi{hvXH?5OQfd)X_Lk4o%ScFTy6O-Jz=Pm)^MeM`Vc8vS>wWi%% z!6SqCp;PWG!ZQ`mdCu{XR5bOa*s5zg7Fo=EA~Klz4Xc@4u!*(!f+}%6=JEAY4j*qt zk^fwGb*bC-c^r8R?emL~;n;;b^-SclN>9&4^z>55$BF|vz-^U(bFcfkH{9<-RYV+7{sl)YFTDjzk>L}6xfSG*09STs#m!V{uz2rJe5SQK>9xzF=VD?NurJK69OjYU?JasiipAU#6SJ`W15T-OP61t8WpiBD z0(QlGP1?nPd6<&5zSKb)HvSxw@(s*zr@dTYmY` z<1nFE>^!*~(lkaj|37>fx+b?3o=@v<;US=r7{l1x1&n*dsa9D>YKJ%Y#p4-c!EmLe!F^7$$xo+53|08R zsis3)xyNOHL;-Q&9M!?lu(!?eTBOhbvCxu+{6Eq_%Z>40cGR^rv2GayI7!Hl<#utL zSP56-&L*_PcSxJ$h^;kgBUJ_bFwZVxQt?6sJJGxh469=1Ro01JZm#yx1U*aXcQfd_ zf?4KHbtj^r2WQ*Ly|6j0!j*LYD#PYTLwLKS>+x?K7QEW}hk2rWIQaYo7q1)0#U;d` znu54nc0A{wmk$>K6@NLTcemQxrFM?pr!EyUeG)#gdt)o=%`w~(?!+INQ7Qh4lNllH zsGyS>K<~;O-L-E3$$Nm&JI8p z#tpwy)Zg7xrDZ(|*U5XK_hxV2v)TB()Lnc!AOUaK&A$Gq%YTfFxrE&?n#p~>f&1Xv zV~Wf!!VY?@n(QDK(|najCXD@m7RFldg>g3n!!9~8H(rIMp~w;I&Hs$Xjr;B*jeDTP zj&oHonyM+BKX%m8Ub}#|Cym1ptRZ`f6Vj_<*ZoR?z(ze~L6$_leb$b*k+RGd$QF6A z)NBEX1t*UZ3xCeK887yC*j^WVkGt;<9(nbSv0gU1m#r811}Ar4jOo^bnQBOLPJF1> z2{aBlG0UzCXZg#W`JS>fr;Wtgb$0DE(^if(!4)f6r5?BR>S$Y6ZCtQbBL_Gf6}Rlv z^%s2@b;|I-4+?IXw^L%pHEtZpFEMLtZr`R_(~*5!RDav#wJ}w}HZNewpnLP{2tiyA zp8b18fZi12jF^8b>xd5S6PRLq%L7ckg2lGy(&qa!haoY<-;yaxY==5{2SCF7Ew;_V z7q|3cwv`m4Kgc{F5meWldFJI%dHbflkk~#S#tK>2g9-gIY{j=%v`&6R_s2}iM;;|#}7x6 zZ`x&a_)1!|!}k|XUYkHwtg)D|DTv3s%tts$!H7>%A`(XK=o0++D&O;oBQBYVdR|1t ztW$BeR_G(sZsd_+f0qC-$Qly%0QiX8;P+I2iGMtw`xEyO|1!t}qa<{cNA>VW(J(WD z(qtn;pa-@?G|W^y@JszHvD-r=JulG)wW%R@jf%79QN0P1YeRy4{gz^6tZ+U~q6NrGTf8;c zn}4$+-O>i|wlsvKkTqeuvlF${xk-J{%4Mj}7Z6M23)$*ER~C7~FExgg9D##Su}$>3 zX_QjvcK#Mq`&9(hMf<&MO}i+xYR_@AWCp47lP>C-Q?~}`y;fCChw=d}zjQYPqa_)< z&OC7Y;-v?!c8QRfJ6uk8BFMLL*|07qmVXFZUb_#`WS#_}2!Q>CeXPxlTIjb1Q&3sR zGk=(~JJN!1fLAdno7B~=kALcefX?}mxuuRPHXThh?UC8>G=#{Kc z2vF5TfYO3h<|dcn-Ay1Xv~Y)C0q(_pFVjdU)Bgl@**#IW!03b;QCBDGN+ERxb$>E8 z{JS-DTSDq)a0}xrMBIeZtPpt*N(@SUQiv0{YZ7nmyF%!-)qBpQXzX}v_3X#-B%VS|YLx8pA z*4Yd%G`in>&BmZbhA?vh!byy^kunW9J%YDjUBm~YI@WGLPZ_gb%Zx<1o+0bG0)*@Ided*%DQJf z;BW4j%c0!8;S#KJ2i>?tD6TQ1{zNwY=T8>>5iR;v^Na!Z2!D=#=b@c14&m*Xd~x4e zgCZHX$^4IU1AB&@cQZGfiYb!U-RLQQ06*JQ;9kxn)jK`ulSZ3-{}3FE0*n$2@l;DL z#C?hj@g${V;YzUIt5k)1<~)DuG2VKg=S7MTxI?x8m+w^1tEYv4)QSc2-=ra#4E?4C zGP##8_4sCgPk-881&@c2!}>hl0jof@a$}1Cy9?8cO9bDl5yFv;x+$RcoZ zf%Bfa=>LO`j^YuR)2z;89~f8!;k2+(;xBCi3d7F{@PBiTjh{ZJ)<|+CmP-7{HAFA)tjL>7sTEHQC%uJ)l%pza0 zT;J)8;z&K+K2isp9Q-=ol>ub<&e=}L|MgpxVY{{R8DNuAI&v6t`N$U<`%iM{xG03p z{vpv)9)AnoWE;+1Wz1p=M|&a~tJZ8q#iZv|&OJDe9;(TvV>{|qr8$}pm4g{?a=Ptk zn2r}f{|`0&)KHy)Y?XIlN4-C*u3qFSMlCSj%O)`SQ#ugC{B|#!u{LBUq6M3kQRqnR z#6cicAiLc>@S+iv*WH5PQ2rCa-6hTH3fBl{Ipg3-}UL|KBaa<*Rx+Y_0V!uQjaRGVmZ|D}VfJ z0hq(=7h}Q$uO-5d2L9`)Lg&#>^-}Z;oQ(7e?@GRO6mfx~=jKJTDQ9H*qE6J(WkX;K zjY^a%2$c61u>A&;ML1B;Xn&$fVGOd-_yeQT@ac$UxXMd@wp$c3j&Vqx9ReK%!eBva z6CY&U-Pl(?NvWeCYi~&zVCemD2!B1pnW70h25OoUf!~DxRruKE6Bt4+cu8E9dS^Z% zd?0?Ax@M98X&H@vFC2Y{O4U~8U#~p|gxGF7KnhwQJdq6iH_?JWkf8e-%|jg)#(YNt zjeGQ;6ej?31=S$FcL<8+p2u*3ffXF&aa&Pk^^1t#&G*HZVh)qLL{Dk}g3pHQu&&nz!zptx zV>BWm=KCT3`3L;Xdy+G;6g99EyWnT*2IzNdEcz)6HPr7vtJ9;aR=+?Cug1QoNpMsp zHZ>)02mCTep`OYyKXx~tru8&UVzvWq;OvS)*^|e%wdl zAq~cU5Zn?@D1VUvJJ_%ZRT^_oTGcrgkA>v@Dnhep@{`oU30;nO_a166<5{UL z`59Y*0{8yJr@7AFX4Fsqi24U0@eBlLfWF1}+LYcPGU&rK^{(%1DEs_Nxh3ethyW#O zrS<4u2>*N=5FN_w+z2jGKBP zI!#e%R0`(BG|w?F_UBue7dl`}^`EP)K+J=917fz*JVr5i#-+KQMI1sS8ng;4dIT#eM0Ut%doW!QPtfBj57*q~$>13^ppIJwUJZ!gk7ce}EV@s-yBUvj9N@Ue#A zS+g8g^Mb~Rq5J5*&(zg_&nRKl;*sjN%}j;inUcCOzR~|B zQ0!vQA}5F0q#408vlF3{3p@kyv0cNd3x8~XQa9bN?^jHl{8iH?7c*@pxm%`9j!c_8 znKn6Q+I$89zXhHJbPMbUOr6i+$HatU3~HhE*86oa-1yehYpu4`XZk*A`U2EW%Ru#b zSxj*Z{@%t|Urb{M1GY!Cl9K~EM^S=%Xax~b5FulR`&C)PR>ZI$SuCvkUJ|;p?tdjl zh33T^W7kV*@Dy^U`N|%DyCNAFd+Y7EV!d413?rlU35XO;j!2Ab8)c;B_oPT11VVR`rreL6|418=545x%(_)_$C8NILB7`@A1 z(wpP-zOIw>E^pDBqbd^F7`+n{+n>|{^Yyz3hQa?y-OUmP{=q?;4gEYR=rrcbp~nR_ z^z$}3A3A*o;>l2OKzA)wQwSTNVA|j_<%Fns&@1qD`X!o6i7!)Uf0fx&SAVIr7ndUg znhUl+slzCtx%5cwhSavGs(U--B+X~4bxe}<#!k`{S?S|Mz2R@bC?E9CU+MgDeqr#Kk^MUr(`X?=Ab*Lo$h=>U46!eb zr>i3$+gwD3V2gC9%Alci6lVz2I+;0z!#?sI%F5Ap)T9B0PR$KQm2RooQz1I0Zyp@{ zkUh2g4KO#Vraxs~iA_MRoNdf}+-dW1ubUy7<`7Uc%`pfaKgM$f&ZjDFPSZrmSQ2NIdf_2kkct=|+nl2~;%ZvB2(YMVkycb}I5P z1p@@jEwGKe5Ma!YCeW36MlabEx83(|x7{pf;yA|+xMDJJb$3=9M!8i?h%u^(rBl^( z&*79b!|$1xzJG4Vf@B%wwXDd-wi4cw23?5eU38tYHoN5!!YJu8mpr%_faPlXiPQBe zJab*v3`PhSUa%_){y}_}eyOz2b!G^xd3?00YT7SB%FS9RlCHmX?GP5JEFH=p@ zb+f+AjL`Vl*ic^v+o`?`hU2IE4gOf`uVPyNx=SIITtZ3VBZJmoajlO^It4{AHow2L zlIMJSJN4xB-m;SC8gVc-yLo}_XeGag)q6lM)fS|e>I3AY&WzzrX_riv zOxMh{u73%*W}Ctzp1oEZeP%mV|4%piBHZXx=01#j_!@5uESGWuvvw@?orvBEM2)Vo zlZJUTL+XDOyePj1>01@SO8mT5=A(M+vdz3`d4Acb1$qqa`Cr?}s-cp|g1gLN*>rDz zPtR~Y3m#JFDFM$_-&>6ZLM2f<1?(#rLT0J9lgX#{qb)(Q5WZ^3zZ52H`+PV$q$jk&@mW!m5l)@ z^DDcC>dvINJ1SgT$s^q@cL#yeLT}35@!!-vS$o<%vpfB)v;% z%4Q5^G0U$%nnkwEk|urop7VV-O_8j9G=G|X=r@Zyu8iFLzq_wx^S&;xuH+BzYx(}; z_27LiU%0Pl&r9)xEouJUEvXn=(pjBv$+b7>b6Zlm|9CxWOG39oTY~0E;^~T505WV} zRxFGvrea}pz63+DFk(x9G3AK+MZZm(iE~Es`TlfCRvMV*+*E<=5XN{Z!XFuil|&^Qcat5QzO`UF83<0o~j_<5PI2e z+0KH42a~Te9G=q@J#>YV)Y*{izu@b6C4P!A||(n}48Vei5V5 z`7=63R)yWhXf3b?AKWo%4dqsT4c2Xb4UNld=&}QrhK$JP6~Q*-PN{IYgC1wu(*dnH zz2iz0$xAer^^UO>iQKvrY_8rh#+|xNG+j8jD>s`!{X$5nT}!R~dajOr>MYK2tN^kH zfcEUVA>vwVLUNOlfzI<*mwzTpgYDQYS)jHz$;*Q#FOMd9S<>XCW%f|kJ=kVxLzgzq z9xA$rs*w@(eHJtG6vkZo4#L_3eq#q{>{JPSHX{2}`UMH`fjrVP_U5YFHx8yg0Qn8v zzZOwK1|1uKYS8~d@Y`FMjqK}TTXuL88@~0Z+@(RTwlC) z#gYabPU#l)=IZYdT|!QGdWnY1UL+ArY7KFENiG0I!C1v9P?Y*c2Qizv6bUFEYA>|a zoDpU-C0HpmGJoh$+t}vl)eJlJ7k$~(Jio!W+4|V&t+!U|<22>j0&k3EKAZrQhpvvU z+dBa$Co2Ej%YE4KXW>R77OZti(6QFv6=)kOe5I=Vmp5WoW~~T)7DRA)6|5b&Tiv|D z&6@ei#hoi6|Ds+Ht55hO*TIx?A{Ht1 z6}=taKyi@FCnj2baX@GCrQpOAI0c}22LjAm3p)8v=sW#E~6I)WKwF+SdO!|s`J?fQMV}s5DVd}9+ zSa@dR%la0v8e|Cyz+fYoMVhY-G|Ul9cm{Qfbkr_TNAZlF=%tMtvL|xFo7>pIE3^$j zWJL0>-eQe2rI@O#87rMkAsBS{>i93qH33e%Hh*XUy0l1^ca{f2=<$KXf=F53KOxSh zEu+iy?WBzl0WV`}tSCs>1({Z=xmtqhhekFA{?>=2cKk%V zFih;=l?)QG;T4wDU(S|$f{O=t#3K@k=5zRv3}-1;QUUu?R=KB|`pXu(eJwjRds=c& z9e@04AzCLrC23C$p3_kM+T4;)&8^S$>Zjr`5as9<*2W7>$KIp^GmW_lEXAM_k~gLx z(S}Rifh@fGo@@v@@p3(@E8|UNktaUc5V%nI6c9XyY2C~OCGsQM8J8~sW1Pj?2Y(&YwNZ`Kg2!@9lHmM(jJ|)V$0=D!M8Fy? zC3?Q@q|b4zzLK>0qJtFV@cN1J;?_0|1iLc~QQtBZ$^=uIHIUIB=Gs==-I=L_mWe%Y{Did-tvJ)z zty5?{RY|lXvA`MJ&c#yC;1t-j(KDz%ItGA!U%RwHQ+U-CrlH^OoNJyXg>|vjQ6EW* z*)LBei4f`gS0pGoHoQFJS{eM#JTGx&*-A%fEYPHci2LXIMp`(YJo3Ysn6Y zs~1}&e-w?&X{mLZ0Ina+kwlP*v~+v2G}6nOBQYW^S-&*%1!9%DM7+_EU!pC3`8nGKk3zJKcfjhHPZ)8~u~ z0M0^`2V=2|$t9TK_Cus)cnztmd7u`tIBF~eNNX=j^m8GsINLpi;>i!B*Bcm?$5_accukw_tYx)U5Hrfb#by=hC(21YSXV${X1I6(}pr{!@F|a-b6vrz-k$5^t0wC&x z{scDZ_=<5EIDa20b_DrJ=MC}6gI$r$Cu}o}5e;#kB|Z^Mh+1qNo5q-LlLv}|AwdWN zk^a&{03TBMJsDnrig%-X8ccqNR3GrAIs2aDKhf;n2ak>_B7XQ_E>UshE!|ZI%#tf_ zUtKDNkbZXgUqxju{i97IAJ{zbNGIL82$Ag+Kn9yRvww!4hsgF6=G=8|^)f$zNR-&5 z-EAn_{feaU9tRI0^1ny|$N-hjdpWC%bM%+gF@Q@`a2CQ-v`E1|G+N}G4PU=U-@-34~w6*exf)6NQzy*0@SvvsGxt%2`GCDx)d5`eQ z1It|`nSb9iWufnbZUBnMb+fp~X%B)`69pL0`uC=Z0KIR;+)j75CvD2^q`N)5N8Q9b z7-urpNiZ>{zB&_%{TfW!$*xLwYF^4;(lUW#ds8Om zFyM#Cw;zmWtwPZgp2Lb@Wj}SX@54#jB0S;C~#D^s|Pag!9v^BQf`I)|X2_Aj~p+LS3M zS*1)8FxI`}x)g=-{C2_RDXvwFOcxX~z?V!ZA z8m5bao9`XKi1D7xU+d|Vklee9?*ga0r*%;_f?)deKWL7gpS~W7G5v-D`~3WC^A4Ps zhaD(dhR(i!al`&KfW%Xi5AnkvfMby~uzwGeKP4;90MQ@&MSg1w{MHsfdTWO%J|`i{ zR;=>)(E1P`?hJhRy!sSAw65U86)w6T|22HL`~p5yj7X6JmXU$hlz6(%c#QpF#0%$s z-B0nK{ojxO`f#!971CG&7~U1^&$2C-!4U0{U%`mted#wFC-`tLSr>9FUB!q_FMlL! zO9bX`2_YjJB?Q5aFznz+J^BzD2WTf*HdL(b{mDr%rsOy}nDDd*N`N(Ala0vX9*Xoi zNb;Bmy}}g6tC*O__7=koV;-9Zh4?9qiL!`bg7XV%FNF4UYtiHJrQNm7C6I5;g(X}= zpBERgf<*xOy!o%ho~rS;CR%3p)_Fa`%}NlJIvN81F}EhShlCQl;yZM zH;(V&H`qlo##lm449%6DFNa`^NXf%(emWSlUd%B*Q8yCPs{)5TOHt(KACM$xeVCUw zpu+lr~Y7Op~-tEbq`@PsDn4{&Y!Imo?C23LQFxE+*tg41k z+{P%OU4lz8beGdeURo$h`<OUuA6Sh3p8_*q zBhvFgF|X+R*jD6qy;a?&D!Y{+gUmug=JLOqz>tOlJ>ef&qS_=f=VvY%FF^&1Fy&E9 zj65>~GD&G7q;#9K<$s(ncP#U{d38SfJZ5K^din~Rr-^zf0z|?Z-Xt*PE3Hi1cotYTJBX)s~BQsmo6_Wlg1lCZQ+tZN@ z9{+v+H!l=xf`8Lu<1f3ualcoW(sf?OaQr*L+|E%WrOZP{1rBP-4D1#Ob1#u3%g#wK_GH!BJzz(kB`|O4FS0eYICT(O zKW@ar&Kpu^zTa!7x#8V1sd|w_K+aMoZo^#uI{tk-MCsL+7 zkt!vF@_%ZLb)}|b2Zf|j*s+h!cc_rJ1v(N<-VFok7A4iW|zdgUMao#6fc7B(;K2Wbd8n@kS1)HFq$6E9ZG;Nkg z;=sh^@h!uckyzYP>GIYrrBsUV+ANTgx}Rl#4}UOuyPD6tj<`57u<&~>%%T}_al2s* zpKLM=uiiv5Xi__~*X3XbSY`VsRem(e{py!2!qlS3x(Wn`&uB%MJ`BTEQ6tH-crHc5 z7k6kk&#<`}cqgW8cG#V|r5iy755V;Hr-BjSX~@M54gT#yKo@iHLG^s_&=`D8gJX9A zzJEY8IPiJ>AIzH+Nw&%+Y-34ogU)a~H_8v9Dp)41xS4sr1-m*A!(4fl-Hsi|WGR25 z>Tt*@=;8I1VIDW>s!%5VQPKw4((Mm6#$h8s54H+n8k(% zVffAbC@FHh+2{7=FpVVTmEH2>!Aj=qWl zoQUDd5sgbnPt9SB5yIxK61_a-AbnN^OT1_Rv6e!8vidHkrug1Qz zn)(fZUL6Un|De^B5&~EbtwP+7Gwo0w)v{ijqL|d$miP9O z_g>HY;Bs==714=_$?0}icN%-Cx}}_;TVPq%!HdILLgs6T;O_I%4|FwNkB|_lH4SQD zQxx1L3u7m|3rS;3Elf9ig%#b(Wy*^phFNF~v(y*{?Nl2`t4LckH3fq#Dy1?~&vAco zmww$8BxHsBMSd2<42s+nhGq47QZRiyDQMiE6da;cu4n%3qyVB|KuNndo~+1b+Xxh*9>sh_arNbrWMGk8P|3t)pVO(L9I>S2vNfyamX<_mdT?doq4!p3 zUD2K#wV>~aGt`BhgDE+> z#GC!S^?-*c*s(2vvX(Du&pVo0{%K$>r&p#V2O)781l-bgEp(Gs{QoP&A(9o3poMIa zX9RO~5o(yD@)7>D{UZ9b`+n6R0Y7Iw9Mtv(?}K+71P??|on)hVJ06W}GzWh?IYl)= z-5qG5x?`fse$$I(_ENgqOFlgHNhhzi*-4o?A@%iL4~2@6DC)g>19?e}w$KvwTyaAe zH*;h}L0|H;6Gh7ZVwXgUS(P)HdgEXQ_k>>hj`v_8j@0$#vwAyMU&+-gM0J-Ts;EZD z@qZ@j`?-G^Q}rN6dq7@Ib7p@a3g9TG173~beZ`as)w5V{!RTN>L5J|>ZNF0c`16%UMvH0{?UK?|LItJ*9D8( zKkEZad_%5y$8y4sL$tcVUS2cO_acg8=1zpR(w`Z^N3`ybaXqh^FMWd)TEK?6{V592 zaw$VF$k_-*7Vcb(S3Hy%I8c$I-(y6_6R~kr*?HtCi>%)-M4l>*jHI`{ zaq+{*QzhcUuse)AMFnQ$sq?Yzt7DgQV^2RGyUb(TdhGJq*yoIPl^f-wURnPn>QxD{ zPjb|&L3lprt9cL3g}u0?&(|i}aRN(X^$%d^--)3=j}BYUnxcP*?Qor?}6rPj*SszshlIq zUU(DW9Vim~UdRkkFyS{?ozKb03{YUJh9ZIQclynl0a&(SYol=&oeJfavN}|`_z1rNb3!as;UhkbiQvT-0Ggd~I{Z*)41**CNP`m3t1WXoik z={bF0rUylqWLc`czDlu?DK{GRY8@*Ti0*=A5|#1v%(HCVC^l`|vCE#>E|Sa}9oMPn zS9MAg69}VNT4)UHgy_CfsqXVscgo;cB-E>Hv20mm z#jwWAm#opxUKL7WFDx!xTUS=)V2gh%FVZ%!LRpMvRre30)=Dp4eM zzDjgKnQ5a9ugC%`EYpHr4{o3({5+=|yJXJI>ckPBEE3lpQSiJuDtv(?fUOn@+60-b zIuI|t<`^c=9s(e{)02(r@%YeLTrGN-c#^kM&Q*VH3@r>6I~rsL=>PY1Wb$_5@BQQv zdL4Nr`twJM`irH+4~LwYGNc=tQ424}68pR4@Y zXw=UUiX6u=NoQbn2*9*l^*TOKlW%$olu^J9M{9U&OFg!xG|SA^{ks%#ktvHZr7+}| ztYmq90{I9sV&v-2#w(57J5Yae0$^7Y5^a6jezdOv_%9FvSaa|g~26k*>kd+dQ9!XG>aS9SE zUX^^|&%S*{&Qev*(hh+O-F@hsrEW@PD$`9etX_t5q?7FH2a5Co2a_q%ww&C#I6W6z z(na2eVb+@sZT{XLs|s%S3!!rE{Hl^$*(%tm#VbN1h}0IMJSv_HW*D$@;=F%UqbiXo zeKx~Ui1W$!7tY_i<`1l}p8OU@Kl;c9>^B?&FcQ`y)s8kQ6FP+Zot1FIOGnxz4UuLO zz1IOMSN53&%us9sxbTLQhMY+0KmQ*H2*nkqSIWVD=6lFWg-B9Rh@aJEwohCy< z5^-?1#0z96L@?2sI&a`#seLBUwaisdB``TCWrxLcGQ5NU@6-TZ%~9JfxRBXZPm@Q5aYN1 zJpzJc^FWF+=Lpd`gA8y9C}?)D3Mg>-v7ZP63sv2?kxG~JW`f_z9!Q9M1+NTK+*?21 zHnv6Pc;65|e3Hbn|M!3EW>7>sSF7}ZdRAIztP z*nCPwAsD&N^lM~5rfaHtkP$PA66I?ggx6l`x@});M&{=KuQ*j(GfoW9QYSG$ro9#F z43BeFvA#XjaBVx|SljzpCstkaM*T8?Rvzct8fay@^UZ9(5{8}Ex~)bG+uX-Z)eEVr|2!$ zM-JIApQA4k8y^Bu?Z>z@(Ef7t<)?%|_;C}$czk~a#@H($!FCc4F<{wC4(D^Ss z%Dp?!o}>Z8N#;UoxW{8M50{Dy_0Lb{fml>fBNfAgb|`-V$#-_+H5n<-0JIamyZ&S> zaGH{uTaj~5@}GZhB2r?c5)Z6hdBk0fqFe<*?9Y)&xK&k!_zgBUzL#~SgH;e-*P5*v zRKz!@ZR^=X5t{;Hcb{?&Cd~CQ!0P~m$JV^)9yrGH-T8l*B0(!&R!8~RLPdxg92Ky+EZzX{)l^tO`LZSNUl?~Ksz1WaxHU2O>l{LJ zH%~A4w(|44cw@>M@3WKlNv2pumy_DSk?qj^ybyM+^}IV`xggTxEuil;bF>#0MPGk& z7>LT#06D#C){~8WYPs9ttfL6b;aeKenKsK#eCvOF=!(&DPljO*J)xX|>&8RgTeR$! zH{Ql9F&gQ6vXF^ejj|W;JY)7nKF-tAlyNM@u8mKYn+umMADyp{QT$7T-f+AXeQ~0Z zlb(FE6#|rDJ~3QBwp37jSlYB3j}po#n~XDeDn5^baAU>l82oeSOt*0t5l8Rcl{ijl z?md53?T0Z_40pItE48;53ROLGVjDf$W;XL~b7JO=QoT>M_t`cN>A)7yoL9xvAQ?MI z);4qK4lvOThuYYS1cbLa+Usgz+a>BEFIL?!@2;g}*HX@Seu|IY-NZv>V5g=T*r@>#@h8%$}}?g@Uz22nb^vKcx~oT0Am?0M=2a6aZC#=O(?uT!6jd8I)7V z5Q-C&97ZmH?e@q)nriq1AtaRkr3vYpWT++nwOxPG1>93oIM*|wgv`30WMHWoXTI(G zK&GK1#_JuvAD5z8b+L-qFI2znOO$^NDGr^h@A^?3mY!ja-RbvhQu%?6TT!*4xc*KQTw`|))YB!6N^X$l{sIPHz4NL>mYfR2TJ1q^ztk4W+KMr{< zrMO0{gW+jHgrc@aBWWe* zkTss`Zj$HqZ$a(rt>s@lzm+ag=#IL>uLs_6s+*>N13KYoyAf*1NifjlvzVQJM6bNt zt8m#%KV~58`O0I2H$?A zsEd8=nsQ#7W3!au6sf}X5-L3I9817s~GV<~9lw}hmNGW-xE^XQMp+*0u2%P9JD)@ZlQ75|Q!Oa5JHlI#_!2_ff>G&4)fDE=M7 z|294)Mvw5%@%JFdlIhzfJ4Pq4eGLC>WbCjtvXimF{`leWeKl;SVWi1kqx~y2?3&9Z z*z-a=fnk4}A7a8!PSnKv<|g5aGj&>v;BdB)#6TOE4(V4#&4%%^{ZNGwU=2u@rkoiWuX7JTUDr-NVWbU3s@pA8;5AD$`K9^{Z zuDo#I4gcq8<57+^){F{s_R#1=VJ~Pvg8L%x1RH-f#sdX4u@96S4c~mfxcYVZ^A@FnV=_PmKS^xbLH5q85D7hMg*>i{N}#No*3|>7f(^F^99sjfzR)O> zCyIZm#d;}UI$|ExrB7letOsM(Z+BNq5^*}=_1L289uhHSp-%X9u%)yFhQ~3h7B4NF znM-<@XW*OG?dZ3|&5poLx<9a2+UOvBTevj)ySW8bdsX4e_hsl?>lhWx70mE{x9MIU|N<_9C;XeZSa2# z+Sa4T;>6sK0EN@rkh-P!O-a-q;nA-~=*1(9;}KS59n{sP$n;-Xj7j}F6-E6!7i0A= z5`%u`CtsiGjdNnwIEqug;EKVnDWcLK7kIPdg9Lbof{3 zvo<&OgR{Nq09Z&!o_TRjBf2be75IPSlH;B>%D-Vqjo&20lC_wGNiN04vyTv$_{^ph zHYYzd;LD{ER`9fS*??s3&zube=M3!ShEbDotbnr7=u}14SjFSM3!P8*t(m@WWZ!{F z6TK$7obEN6Qe2Q<)n^#~d%04ol$d0_CTX$yirddj2FP<5f1OsYjC54yu9|;KvfdVD z*iy-<|Hk_lDd)@1m0f)yBen3zjSwt6J3yr*8B{bt^T$O}0p*&Iig3sz)7{5munCtr2_1<+$|EaDs>-J_vY8RMoqV5ST(S1d%%J-57;2(}C;7 zl)jaIoE~h93USKK3}7HU$+~|mDg^sE9zvuR<>zdZxFwgV^@0X%zQ_;so&>aS>-CMw zscM&O5Uo1+?EK=5ha50X4yPs_2SUmeaF!e9L^)dyft(k&3K}FlGq}X0pah-7bHP^0hK-qw@M$ z+c9!uQtuH*s z>m95=Oyl;ddIVV2@+h$l=edmF6YkS#E>d-#n*)TEwbts($uh8s-`4+N;7%hr>NPfS z4Vt_GZsk!$j^}^uA0&22+RWubFFA1VI7>uw9-xRN2C?asStj%=Bwu?AT_(xiZy&@I zL^tHx(1fSmT$U#JKt1C1KXK_typapNba6@l`YG7*c6gn(a|oV3xv9Lplvidxi8oIz z>8~Dmv!v3PBdf(jztT!w!V+9V_asqEFE~zD?p=k36_YoRSw? z6^=B7Ldm@tL%^J?NqY14S~l?B{PJb@D|DE*sW-FHjyAwFvkebPT70>MECK%b74n2y&4ex;OX=XF%Jv zPSB&wXIY}8ZC>w|ypED55q>Q&EuU>-N3n^aP5z)~0Xvak3)pXn8kH-uO=1O2@zT+L>RZOG#t1E1X#Z= z-Ee;&iwC`&@><6#is*zcbzK*?jt@CA7q38e9{VgL&}tK0*poA`ALr(&_$SLVPV)<~ z1VAT^>lNbaZw&ZfDVcFvPC;=wVkV(o=Ed)4+gv-XXeQ50KaBJ}4O z`t^ts^_aZ%bN-Yv3OwM2stm>eh2pFTnt^4<6L0}$nw}z3Mt{fm@guUiX}F1|?+G0i z&(YLPQ!By6(~ax_BwK~(DXw?kU-6%QX4-#eicj>R@#>i z&LW7k*a4CB?ZHMtL*F*wG^9#Dnv_A@(Jwc*_F`I%j9n7bqm;cJ-mp5DeB3!C&hch(io>8TK&0B63 z4IfS27BY3cw1s8vVH(8Gvnrr0dGj<)IV`Fyc6F*MFN_+6mUoywtM+z!^F3E;CuPF` zB<&if2sM;g<<7;=LoJx=+8dt)*#4^uw*Q0Ph@|XYD*PJ)GR8k>2 zRd`(&xQ4!tneuRKjM$_-fQ7fh*{F;SlS4GeWf`=?H%2xwnO8KNLq7{G1h97Plbkm}FKnj|xFR;<6Q0ml^-#>^EDrBzpAXI3pz=8-}J2WnJUizOS z`#2q=<3eDX3p|BO=5a6OL_kA1r>GifeIn^Irt(!f1sD3PAXIJz;X0W69B114o?1n9ckzqC*9L#A2>a&zj6nd)daACkLON!Qid3Z_rT41st7pf z$yQ&;F6}vfXju@-qASZuOF6_V4*t@LB|x_Q6ORX>*74-%`!^~rR41CjEV3Tg7_W)G zkyWxbL3_wE{Vji>vKi>prJ&;NO~9*HzhUb_#qS+%MvbbyChya^DB$ zSBy8eK~q~WPj101+JeLR7R+P|=CTDd*#bLg!4b)yC0Jx^R-}&Wchve{vZvL%O7)

    lEt7b-R%+dy;%VI~57!EH^XHg{3k50<7tYiy^2R(4RG;p94=M^hP(2vZauEF8 zN^x2X^Uh(LhQ;KxPjft33(ui8tlfMo_EqGY?HVcfc5B*sn~%hGV`!b*A?K{wTlZcm zh5e5T44!w?sUz;`$NPLgMg`Mh=R7 zEyATtF-LRr{y=B{%-oCpcxv*!)wmhLU0t6a*yMj`J~&LOUo4A8RY|3(;V)!a+bF%aH7$xZSo&R%wW|e%r_jrBdG+Qp=(aq`qqIB zhab4$rGD_v3hxXBaw|VVjwKQ0B3gO=W0|l8j-|Gsd<(UfihzmU>La+A)3(&y225SP zs=sYU0xwa8x4OqaD4-D1#>iMq{81vr?f;Wc9FLaM~@UaP!sOchx=1&j`-?^S@ zkbdB9L$M~t1#N0@D^iAFq*&|II=$~%W8_S5YL%7H+n2cH4qJH8zbul=VQMZPag%>W z9_igk04rH|V|#!&ni5;LhONaxMNb6eQ-Ur~0oRQW#?dieIT(1HWC92xGH&qilbMak51{$8mk*)|MD=C~&67_rh@Mf#RtYon{9^ zOtZCFkkf1nr_(q(&5Fj1r`f>bP_B9!8)HUqQZL=xxr=ZuXpd=jwdN_UPly<#26VSF zIf&r#FG?Q&k}1%VBYoFG+TCY7IcbT&{KGT;zG+e0r?oXN`hlH7Cg7apsdInX;agv{ zREA5zGkxbp7UX|SD!v9+RoJbn9n7&*jgnKSb4;b)?38boc}&{9u(##$XNv$j1c)P^ zqiytWHpeU(NY}EC{;f{4Gi$&tzl#2?;jhU2tw-A5s$sj5Tlr!v`*j8y^1VrWNl~$v zSZTc^4L4=ga3gIk1J>k`vcZ2}Z&iiA#b$$!t<_$nJ?B-L2VmNfV5>=jna7r9p4v(u ztCot;!SEYxK498;O$+bXJ288a9mtnWFE9i7^Pm@T5@qgCarQ2#*IJP4h+Ua3>s}~zS5P;9u1 zc~*r*mKk!^C_d;LS&V$m^68x{=4cp{dip_@l8bME(y4zwl%<3Z7@>5bk7X$vh9^~F z7@o>vat+Q$X!9{Sg)#I$jC2b!_r+FX6RH^n4y{Z zX=yn6d`>2iedA3MLjM9obiQ%FBjqgD*y|}av1A*<5S^Z35+Lf;xFwqu4Q!qtGad`D z%rN7}Hv@nFZD{Mpk1Wm5@mvt;}BY-y@nw6t$$7#CoB=3XGzib6d*XK{N94Q>h6>Lr730`uLXCSlS3 zHNK{PYReA_TN=I20VJ>3RU?`0RGBo0dz`#nWMqHWbD;iYKmCTTMvS~5(~kdKv3`I% z{5H0w6G1s4>SAMpz7!7hoa7XxxGH1AAKvqaTg2mgfuz=)_pHr#Zvz(9C0^Vvgcg2e_iXYddT1hGdt$j??o61w-Lh1Zm4|r8@tjAq-SB;56wPK{EY2Z#80#>}j>xk131U^4wcNKFgM51N6PDO3kEg45 zxtt5j$Ow`xV{V~?+Oqa>2TAxx9jwX@?k|7ppq6g(SXNpwGlq*Y=2uOH>hQv;;A=Fq zCk{)t@(Ba+PDY+!Bz{l(=k28C3z|Pxz`Fi1X&iY1I$CYTE7dCMi94Z@HZm?Z{yi-( zzb6}_qk|j+$3=?Kz(wn@Oy1EQ?C4VQZ7*H=*PK$Qhu@&@k?qDYLvO(VJO|2do{fL_ z9>qJ;S}6NTO?<}+cdd$rGLA3NU`CroHupB|#~p!(sxB#& zUo~3A?_fbq8ZC|>NE)qRWMur!IUx^cyy`oZcp)OorNCkH*{0_CHu_?kIiGplCKhM3jFnB z*$>AumoS#^^y{kz^9ZGIGMInlf{G62j9p^K!%5F2fD~B5yihax>L668C_sU6{%rF6 z^%Cxd63!$@m|WJ&zfHts_=$=bc$Z@l({o8U5IK)U;*^CMCuKosIK4{Dq;p9j{9?gW zzq7?+Sc*l+Y%Mx~pVeh+xK2G4y~+ogoc|;_%5I6P$+{mn!Uf}rE*^ho!pFnyoE>T4 zniuGpu@i*Il(V%QaD5WNSGIyc?YX{NtCqX^9YaZKb=t%x&HLTWc|45QID>}~4B2-( zm6$%Gr!dx?c^k7`_|*^Ql=bZr+`AqK-n|-;pohL)b~o{FfQ}o~KBmbh{{WTQF7G_= z9Olx1)axs-$mI1oyIgL3p5htamj+LUU>M(=F%x=x%dQNi zt1Hpf;pQ5o!P*tj0WdCadl7+nLLixlKsGAE!(Iimsim3EE|Wl6HwyCLCZ$Hqe+G-> z3iI0+V-`x-7B=8dDc>XWmcu^BVQ1}rVhWKscnYn?XQt2yQ)qwVDO1RMRHo1X4P1L- z3XL&^Mwmhy;hJ50m_lQ93Keh;(bRY>l7i8g>($7_5p3~yX{CQ3!@dL+>U5&wzC4Nh zn%t1k#y1JLFSu7#gp-#!MmQbV-O`vu&_|4@daE)>sht8|AkECK RSl$BUe#Ol%~ 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%0Aju;L=ndK#y^8t_QpFC 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