From a44cd8e2b3e0eb71f589eb4a7ae04b70498e1636 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Thu, 28 Feb 2019 22:45:34 -0600 Subject: [PATCH] upgrade to halogen v5.0.0-rc.1 --- espial.cabal | 70 +++++++++++------------ purs/packages.dhall | 13 +++-- purs/src/Component/AccountSettings.purs | 28 ++++----- purs/src/Component/Add.purs | 46 +++++++-------- purs/src/Component/BList.purs | 43 ++++++-------- purs/src/Component/BMark.purs | 72 +++++++++++------------- purs/src/Component/Markdown.purs | 9 +-- purs/src/Component/NList.purs | 22 +++----- purs/src/Component/NNote.purs | 71 ++++++++++++----------- purs/src/Component/RawHtml.purs | 44 +++++++-------- static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 73690 -> 74320 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 233049 -> 236321 bytes 14 files changed, 195 insertions(+), 227 deletions(-) diff --git a/espial.cabal b/espial.cabal index 792b852..e5162ad 100644 --- a/espial.cabal +++ b/espial.cabal @@ -2,7 +2,7 @@ -- -- see: https://github.com/sol/hpack -- --- hash: 7227333703029085a8041c55bcc653a2b000338e12bb43813bf9b349cfab6a11 +-- hash: c9ea5f2d822708beca3dc6ea7fdfd09698f9f2df05afb37ac16e204d89a528c2 name: espial version: 0.0.8 @@ -95,6 +95,30 @@ flag library-only default: False library + exposed-modules: + Application + Foundation + Generic + Handler.AccountSettings + Handler.Add + Handler.Archive + Handler.Common + Handler.Docs + Handler.Edit + Handler.Home + Handler.Notes + Handler.User + Import + Import.NoFoundation + Model + ModelCustom + PathPiece + Pretty + Settings + Settings.StaticFiles + Types + other-modules: + Paths_espial hs-source-dirs: src default-extensions: BangPatterns CPP ConstraintKinds DataKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings PolyKinds PolymorphicComponents QuasiQuotes Rank2Types RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns @@ -160,34 +184,13 @@ library cpp-options: -DDEVELOPMENT else ghc-options: -Wall -fwarn-tabs -O2 - exposed-modules: - Application - Foundation - Generic - Handler.AccountSettings - Handler.Add - Handler.Archive - Handler.Common - Handler.Docs - Handler.Edit - Handler.Home - Handler.Notes - Handler.User - Import - Import.NoFoundation - Model - ModelCustom - PathPiece - Pretty - Settings - Settings.StaticFiles - Types - other-modules: - Paths_espial default-language: Haskell2010 executable espial main-is: main.hs + other-modules: + DevelMain + Paths_espial hs-source-dirs: app default-extensions: BangPatterns CPP ConstraintKinds DataKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings PolyKinds PolymorphicComponents QuasiQuotes Rank2Types RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns @@ -252,13 +255,12 @@ executable espial , yesod-static >=1.6 && <1.7 if flag(library-only) buildable: False - other-modules: - DevelMain - Paths_espial default-language: Haskell2010 executable migration main-is: Main.hs + other-modules: + Paths_espial hs-source-dirs: app/migration default-extensions: BangPatterns CPP ConstraintKinds DataKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings PolyKinds PolymorphicComponents QuasiQuotes Rank2Types RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns @@ -324,13 +326,16 @@ executable migration , yesod-static >=1.6 && <1.7 if flag(library-only) buildable: False - other-modules: - Paths_espial default-language: Haskell2010 test-suite test type: exitcode-stdio-1.0 main-is: Spec.hs + other-modules: + Handler.CommonSpec + Handler.HomeSpec + TestImport + Paths_espial hs-source-dirs: test default-extensions: BangPatterns CPP ConstraintKinds DataKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings PolyKinds PolymorphicComponents QuasiQuotes Rank2Types RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns @@ -395,9 +400,4 @@ test-suite test , yesod-form >=1.6 && <1.7 , yesod-static >=1.6 && <1.7 , yesod-test - other-modules: - Handler.CommonSpec - Handler.HomeSpec - TestImport - Paths_espial default-language: Haskell2010 diff --git a/purs/packages.dhall b/purs/packages.dhall index 4cbadc5..a6fea08 100644 --- a/purs/packages.dhall +++ b/purs/packages.dhall @@ -1,11 +1,16 @@ let mkPackage = - https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/mkPackage.dhall sha256:0b197efa1d397ace6eb46b243ff2d73a3da5638d8d0ac8473e8e4a8fc528cf57 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/mkPackage.dhall let upstream = - https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/packages.dhall sha256:832321319d21051fe1c0ff21bcee77af1f86bf7700d2041e1e1c1ac6b1dc4ea1 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.3-20190226/src/packages.dhall -let overrides = {=} +let overrides = + { halogen = + upstream.halogen ⫽ { version = "v5.0.0-rc.1" } + , halogen-vdom = + upstream.halogen-vdom ⫽ { version = "v5.1.0" } + } let additions = {=} -in upstream ⫽ overrides ⫽ additions +in upstream ⫽ overrides ⫽ additions \ No newline at end of file diff --git a/purs/src/Component/AccountSettings.purs b/purs/src/Component/AccountSettings.purs index 7442d15..2a92cbd 100644 --- a/purs/src/Component/AccountSettings.purs +++ b/purs/src/Component/AccountSettings.purs @@ -11,7 +11,6 @@ import Halogen as H import Halogen.HTML (HTML, div, input, text) import Halogen.HTML.Elements (label) import Halogen.HTML.Events (onChecked) -import Halogen.HTML.Events as HE import Halogen.HTML.Properties (InputType(..), checked, for, id_, name, type_) import Model (AccountSettings) import Util (class_) @@ -24,9 +23,9 @@ type UState = _us :: Lens' UState AccountSettings _us = lens _.us (_ { us = _ }) -data UQuery a - = UEditField EditField a - | USubmit Event a +data UAction + = UEditField EditField + | USubmit Event data EditField = EarchiveDefault Boolean @@ -35,13 +34,12 @@ data EditField -- | The bookmark component definition. -usetting :: AccountSettings -> H.Component HTML UQuery Unit Unit Aff +usetting :: forall q i o. AccountSettings -> H.Component HTML q i o Aff usetting u' = - H.component + H.mkComponent { initialState: const (mkState u') , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where app = app' unit @@ -50,7 +48,7 @@ usetting u' = { us: u } - render :: UState -> H.ComponentHTML UQuery + render :: forall m. UState -> H.ComponentHTML UAction () m render { us } = div [ class_ "settings-form" ] [ div [ class_ "fw7 mb2"] [ text "Account Settings" ] @@ -74,18 +72,16 @@ usetting u' = ] ] where - editField :: forall a. (a -> EditField) -> a -> Maybe (UQuery Unit) - editField f = HE.input UEditField <<< f + editField :: forall a. (a -> EditField) -> a -> Maybe UAction + editField f = Just <<< UEditField <<< f - eval :: UQuery ~> H.ComponentDSL UState UQuery Unit Aff - eval (UEditField f next) = do + handleAction :: UAction -> H.HalogenM UState UAction () o Aff Unit + handleAction (UEditField f) = do _us %= case f of EarchiveDefault e -> _ { archiveDefault = e } EprivateDefault e -> _ { privateDefault = e } EprivacyLock e -> _ { privacyLock = e } - pure next - eval (USubmit e next) = do + handleAction (USubmit e) = do us <- use _us void $ H.liftAff (editAccountSettings us) - pure next diff --git a/purs/src/Component/Add.purs b/purs/src/Component/Add.purs index 2818645..eabcfc8 100644 --- a/purs/src/Component/Add.purs +++ b/purs/src/Component/Add.purs @@ -17,7 +17,6 @@ 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.Events (onSubmit, onValueChange, onChecked, onClick) -import Halogen.HTML.Events as HE 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_) @@ -25,11 +24,11 @@ import Web.Event.Event (Event, preventDefault) import Web.HTML (window) import Web.HTML.Location (setHref) -data BQuery a - = BEditField EditField a - | BEditSubmit Event a - | BDeleteAsk Boolean a - | BDestroy a +data BAction + = BEditField EditField + | BEditSubmit Event + | BDeleteAsk Boolean + | BDestroy data EditField = Eurl String @@ -52,13 +51,12 @@ _bm = lens _.bm (_ { bm = _ }) _edit_bm :: Lens' BState Bookmark _edit_bm = lens _.edit_bm (_ { edit_bm = _ }) -addbmark :: Bookmark -> H.Component HTML BQuery Unit Unit Aff +addbmark :: forall q i o. Bookmark -> H.Component HTML q i o Aff addbmark b' = - H.component + H.mkComponent { initialState: const (mkState b') , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where app = app' unit @@ -70,12 +68,12 @@ addbmark b' = , destroyed: false } - render :: BState -> H.ComponentHTML BQuery + render :: forall m. BState -> H.ComponentHTML BAction () m render s@{ bm, edit_bm } = div_ [ if not s.destroyed then display_edit else display_destroyed ] where display_edit = - form [ onSubmit (HE.input BEditSubmit) ] + form [ onSubmit (Just <<< BEditSubmit) ] [ table [ class_ "w-100" ] [ tbody_ [ tr_ @@ -128,10 +126,10 @@ addbmark b' = [ text (maybe " " fst mmoment) ] , div [ class_ "edit_links dib ml1" ] [ div [ class_ "delete_link di" ] - [ button ([ type_ ButtonButton, onClick (HE.input_ (BDeleteAsk true)), class_ "delete" ] <> guard s.deleteAsk [ attr "hidden" "hidden" ]) [ text "delete" ] + [ button ([ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk true), class_ "delete" ] <> guard s.deleteAsk [ attr "hidden" "hidden" ]) [ text "delete" ] , span ([ class_ "confirm red" ] <> guard (not s.deleteAsk) [ attr "hidden" "hidden" ]) - [ button [ type_ ButtonButton, onClick (HE.input_ (BDeleteAsk false))] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick (HE.input_ BDestroy), class_ "red" ] [ text "destroy" ] + [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk false)] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> Just BDestroy, class_ "red" ] [ text "destroy" ] ] ] ] @@ -139,24 +137,22 @@ addbmark b' = display_destroyed = p [ class_ "red"] [text "you killed this bookmark"] - editField :: forall a. (a -> EditField) -> a -> Maybe (BQuery Unit) - editField f = HE.input BEditField <<< f + editField :: forall a. (a -> EditField) -> a -> Maybe BAction + editField f = Just <<< BEditField <<< f mmoment = mmoment8601 bm.time toTextarea = drop 1 <<< foldMap (\x -> [br_, text x]) <<< S.split (Pattern "\n") - eval :: BQuery ~> H.ComponentDSL BState BQuery Unit Aff - eval (BDeleteAsk e next) = do + handleAction :: BAction -> H.HalogenM BState BAction () o Aff Unit + handleAction (BDeleteAsk e) = do H.modify_ (_ { deleteAsk = e }) - pure next - eval (BDestroy next) = do + handleAction (BDestroy) = do bid <- H.gets _.bm.bid void $ H.liftAff (destroy bid) H.modify_ (_ { destroyed = true }) - pure next - eval (BEditField f next) = do + handleAction (BEditField f) = do _edit_bm %= case f of Eurl e -> _ { url = e } Etitle e -> _ { title = e } @@ -164,8 +160,7 @@ addbmark b' = Etags e -> _ { tags = e } Eprivate e -> _ { private = e } Etoread e -> _ { toread = e } - pure next - eval (BEditSubmit e next) = do + handleAction (BEditSubmit e) = do H.liftEffect (preventDefault e) edit_bm <- use _edit_bm void $ H.liftAff (editBookmark edit_bm) @@ -176,4 +171,3 @@ addbmark b' = case _lookupQueryStringValue qs "next" of Just n -> liftEffect (setHref n loc) _ -> liftEffect (closeWindow win) - pure next diff --git a/purs/src/Component/BList.purs b/purs/src/Component/BList.purs index d991184..c5afab1 100644 --- a/purs/src/Component/BList.purs +++ b/purs/src/Component/BList.purs @@ -2,7 +2,7 @@ module Component.BList where import Prelude -import Component.BMark (BMessage(..), BQuery, bmark) +import Component.BMark (BMessage(..), BSlot, bmark) import Model (Bookmark, BookmarkId) import Data.Array (filter) @@ -10,39 +10,30 @@ import Data.Maybe (Maybe(..)) import Effect.Aff (Aff) import Halogen as H import Halogen.HTML as HH -import Halogen.HTML.Events as HE +import Data.Symbol (SProxy(..)) -type BSlot = BookmarkId +data LAction = + HandleBMessage BookmarkId BMessage -data LQuery a = - HandleBMessage BSlot BMessage a +type ChildSlots = + ( bookmark :: BSlot Int + ) -blist :: Array Bookmark -> H.Component HH.HTML LQuery Unit Void Aff +_bookmark = SProxy :: SProxy "bookmark" + +blist :: forall q i o. Array Bookmark -> H.Component HH.HTML q i o Aff blist st = - H.parentComponent + H.mkComponent { initialState: const st , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where - render :: Array Bookmark -> H.ParentHTML LQuery BQuery BSlot Aff + render :: Array Bookmark -> H.ComponentHTML LAction ChildSlots Aff render bms = - HH.div_ (map renderBookmark bms) - where - renderBookmark :: Bookmark -> H.ParentHTML LQuery BQuery BSlot Aff - renderBookmark b = - HH.slot - b.bid - (bmark b) - unit - (HE.input (HandleBMessage b.bid)) + HH.div_ $ map (\b -> HH.slot _bookmark b.bid (bmark b) unit (Just <<< HandleBMessage b.bid)) bms - eval :: LQuery ~> H.ParentDSL (Array Bookmark) LQuery BQuery BSlot Void Aff - eval (HandleBMessage p BNotifyRemove next) = do - H.modify_ (removeBookmark p) - pure next - where - removeBookmark :: BookmarkId -> Array Bookmark -> Array Bookmark - removeBookmark bookmarkId = filter (\b -> b.bid /= bookmarkId) + handleAction :: LAction -> H.HalogenM (Array Bookmark) LAction ChildSlots o Aff Unit + handleAction (HandleBMessage bid BNotifyRemove) = do + H.modify_ (filter (\b -> b.bid /= bid)) diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index aa2c14a..ec75b52 100644 --- a/purs/src/Component/BMark.purs +++ b/purs/src/Component/BMark.purs @@ -16,21 +16,21 @@ import Globals (app', mmoment8601) import Halogen as H import Halogen.HTML (HTML, a, br_, button, div, div_, form, input, label, span, text, textarea) import Halogen.HTML.Events (onSubmit, onValueChange, onChecked, onClick) -import Halogen.HTML.Events as HE import Halogen.HTML.Properties (ButtonType(..), InputType(..), autocomplete, checked, for, href, id_, name, required, rows, target, title, type_, value) import Model (Bookmark) import Util (class_, attr, fromNullableStr) import Web.Event.Event (Event, preventDefault) +import Data.Const (Const) -- | UI Events -data BQuery a - = BStar Boolean a - | BDeleteAsk Boolean a - | BDestroy a - | BEdit Boolean a - | BEditField EditField a - | BEditSubmit Event a - | BMarkRead a +data BAction + = BStar Boolean + | BDeleteAsk Boolean + | BDestroy + | BEdit Boolean + | BEditField EditField + | BEditSubmit Event + | BMarkRead -- | FormField Edits data EditField @@ -45,6 +45,8 @@ data EditField data BMessage = BNotifyRemove +type BSlot = H.Slot (Const Void) BMessage + type BState = { bm :: Bookmark , edit_bm :: Bookmark @@ -61,13 +63,12 @@ _edit_bm = lens _.edit_bm (_ { edit_bm = _ }) _edit :: Lens' BState Boolean _edit = lens _.edit (_ { edit = _ }) -bmark :: Bookmark -> H.Component HTML BQuery Unit BMessage Aff +bmark :: forall q i. Bookmark -> H.Component HTML q i BMessage Aff bmark b' = - H.component + H.mkComponent { initialState: const (mkState b') , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where app = app' unit @@ -79,7 +80,7 @@ bmark b' = , edit: false } - render :: BState -> H.ComponentHTML BQuery + render :: forall m. BState -> H.ComponentHTML BAction () m render s@{ bm, edit_bm } = div [ id_ (show bm.bid) , class_ ("bookmark w-100 mw7 pa1 mb3" <> guard bm.private " private")] $ star <> @@ -91,7 +92,7 @@ bmark b' = star = guard app.dat.isowner [ div [ class_ ("star fl pointer" <> guard bm.selected " selected") ] - [ button [ class_ "moon-gray", onClick (HE.input_ (BStar (not bm.selected))) ] [ text "✭" ] ] + [ button [ class_ "moon-gray", onClick \_ -> Just (BStar (not bm.selected)) ] [ text "✭" ] ] ] display = @@ -121,7 +122,7 @@ bmark b' = display_edit = [ div [ class_ "edit_bookmark_form pa2 pt0 bg-white" ] $ - [ form [ onSubmit (HE.input BEditSubmit) ] + [ 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) ] @@ -156,7 +157,7 @@ bmark b' = , 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 (HE.input_ (BEdit false)) ] + , onClick \_ -> Just (BEdit false) ] ] ] ] @@ -164,24 +165,24 @@ bmark b' = links = guard app.dat.isowner [ div [ class_ "edit_links di" ] - [ button [ type_ ButtonButton, onClick (HE.input_ (BEdit true)), class_ "edit light-silver hover-blue" ] [ text "edit  " ] + [ button [ type_ ButtonButton, onClick \_ -> Just (BEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] , div [ class_ "delete_link di" ] - [ button [ type_ ButtonButton, onClick (HE.input_ (BDeleteAsk true)), class_ ("delete light-silver hover-blue" <> guard s.deleteAsk " dn") ] [ text "delete" ] + [ 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 (HE.input_ (BDeleteAsk false))] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick (HE.input_ BDestroy), class_ "red" ] [ text "destroy" ] + [ 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 (HE.input_ BMarkRead), class_ "mark_read" ] [ text "mark as read"] + , button [ onClick \_ -> Just BMarkRead, class_ "mark_read" ] [ text "mark as read"] ] ] - editField :: forall a. (a -> EditField) -> a -> Maybe (BQuery Unit) - editField f = HE.input BEditField <<< f + editField :: forall a. (a -> EditField) -> a -> Maybe BAction + editField f = Just <<< BEditField <<< f linkToFilterSingle slug = fromNullableStr app.userR <> "/b:" <> slug linkToFilterTag tag = fromNullableStr app.userR <> "/t:" <> tag mmoment = mmoment8601 bm.time @@ -190,44 +191,39 @@ bmark b' = # foldMap (\x -> [br_, text x]) # drop 1 - eval :: BQuery ~> H.ComponentDSL BState BQuery BMessage Aff + handleAction :: BAction -> H.HalogenM BState BAction () BMessage Aff Unit -- | Star - eval (BStar e next) = do + handleAction (BStar e) = do bm <- use _bm H.liftAff (toggleStar bm.bid (if e then Star else UnStar)) _bm %= _ { selected = e } _edit_bm %= _ { selected = e } - pure next -- | Delete - eval (BDeleteAsk e next) = do + handleAction (BDeleteAsk e) = do H.modify_ (_ { deleteAsk = e }) - pure next -- | Destroy - eval (BDestroy next) = do + handleAction (BDestroy) = do bm <- use _bm void $ H.liftAff (destroy bm.bid) H.raise BNotifyRemove - pure next -- | Mark Read - eval (BMarkRead next) = do + handleAction (BMarkRead) = do bm <- use _bm void (H.liftAff (markRead bm.bid)) _bm %= _ { toread = false } - pure next -- | Start/Stop Editing - eval (BEdit e next) = do + handleAction (BEdit e) = do bm <- use _bm _edit_bm .= bm _edit .= e - pure next -- | Update Form Field - eval (BEditField f next) = do + handleAction (BEditField f) = do _edit_bm %= case f of Eurl e -> _ { url = e } Etitle e -> _ { title = e } @@ -235,13 +231,11 @@ bmark b' = Etags e -> _ { tags = e } Eprivate e -> _ { private = e } Etoread e -> _ { toread = e } - pure next -- | Submit - eval (BEditSubmit e next) = do + handleAction (BEditSubmit e) = do H.liftEffect (preventDefault e) edit_bm <- use _edit_bm void $ H.liftAff (editBookmark edit_bm) _bm .= edit_bm _edit .= false - pure next diff --git a/purs/src/Component/Markdown.purs b/purs/src/Component/Markdown.purs index 9d8b597..7b9cc04 100644 --- a/purs/src/Component/Markdown.purs +++ b/purs/src/Component/Markdown.purs @@ -1,15 +1,10 @@ -module Component.Markdown (component, MInput, MQuery, MOutput, module RHExt) where +module Component.Markdown (component) where import Component.RawHtml as RH -import Component.RawHtml (Query(Receive)) as RHExt import Effect.Aff (Aff) import Foreign.Marked (marked) import Halogen as H import Halogen.HTML as HH -type MInput = String -type MQuery = RH.Query String -type MOutput = RH.Output - -component :: H.Component HH.HTML MQuery MInput MOutput Aff +component :: forall q o. H.Component HH.HTML q String o Aff component = RH.mkComponent marked diff --git a/purs/src/Component/NList.purs b/purs/src/Component/NList.purs index 47ac15e..28b5662 100644 --- a/purs/src/Component/NList.purs +++ b/purs/src/Component/NList.purs @@ -16,26 +16,23 @@ import Halogen.HTML.Properties (href, id_, title) import Model (Note, NoteSlug) import Util (class_, fromNullableStr) -data NLQuery a - = NLNop a - -type NLSlot = NoteSlug +data NLAction + = NLNop type NLState = { notes :: Array Note - , cur :: Maybe NLSlot + , cur :: Maybe NoteSlug , deleteAsk:: Boolean , edit :: Boolean } -nlist :: Array Note -> H.Component HH.HTML NLQuery Unit Void Aff +nlist :: forall q i o. Array Note -> H.Component HH.HTML q i o Aff nlist st' = - H.component + H.mkComponent { initialState: const (mkState st') , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where app = app' unit @@ -47,11 +44,10 @@ nlist st' = , edit: false } - render :: NLState -> H.ComponentHTML NLQuery + render :: NLState -> H.ComponentHTML NLAction () Aff render st@{ notes } = HH.div_ (map renderNote notes) where - renderNote :: Note -> H.ComponentHTML NLQuery renderNote bm = div [ id_ (show bm.id) , class_ ("note w-100 mw7 pa1 mb2")] $ [ div [ class_ "display" ] $ @@ -71,5 +67,5 @@ nlist st' = # foldMap (\x -> [br_, text x]) # drop 1 - eval :: NLQuery ~> H.ComponentDSL NLState NLQuery Void Aff - eval (NLNop next) = pure next + handleAction :: NLAction -> H.HalogenM NLState NLAction () o Aff Unit + handleAction NLNop = pure unit diff --git a/purs/src/Component/NNote.purs b/purs/src/Component/NNote.purs index 231c610..54f4d1e 100644 --- a/purs/src/Component/NNote.purs +++ b/purs/src/Component/NNote.purs @@ -19,20 +19,21 @@ import Halogen as H import Halogen.HTML (br_, button, div, form, input, label, p, span, text, textarea) import Halogen.HTML as HH import Halogen.HTML.Events (onChecked, onClick, onSubmit, onValueChange) -import Halogen.HTML.Events as HE import Halogen.HTML.Properties (ButtonType(..), InputType(..), checked, for, id_, name, rows, title, type_, value) import Model (Note) import Util (_loc, class_, fromNullableStr) import Web.Event.Event (Event, preventDefault) import Web.HTML.Location (setHref) +import Data.Symbol (SProxy(..)) +import Data.Const (Const) -data NQuery a - = NNop a - | NEditField EditField a - | NEditSubmit Event a - | NEdit Boolean a - | NDeleteAsk Boolean a - | NDestroy a +data NAction + = NNop + | NEditField EditField + | NEditSubmit Event + | NEdit Boolean + | NDeleteAsk Boolean + | NDestroy type NState = { note :: Note @@ -57,15 +58,18 @@ data EditField | Etext String | EisMarkdown Boolean -type NChildQuery = Markdown.MQuery +_markdown = SProxy :: SProxy "markdown" -nnote :: Note -> H.Component HH.HTML NQuery Unit Void Aff +type ChildSlots = + ( markdown :: H.Slot (Const Void) Void Unit + ) + +nnote :: forall q i o. Note -> H.Component HH.HTML q i o Aff nnote st' = - H.parentComponent + H.mkComponent { initialState: const (mkState st') , render - , eval - , receiver: const Nothing + , eval: H.mkEval $ H.defaultEval { handleAction = handleAction } } where app = app' unit @@ -78,7 +82,7 @@ nnote st' = , destroyed: false } - render :: NState -> H.ParentHTML NQuery NChildQuery Unit Aff + render :: NState -> H.ComponentHTML NAction ChildSlots Aff render st@{ note, edit_note } = if st.destroyed then display_destroyed @@ -95,7 +99,7 @@ nnote st' = [ text $ if S.null note.title then "[no title]" else note.title ] , br_ , if note.isMarkdown - then div [ class_ "description mt1" ] [ HH.slot unit Markdown.component note.text absurd ] + then div [ class_ "description mt1" ] [ HH.slot _markdown unit Markdown.component note.text absurd ] else div [ class_ "description mt1 mid-gray" ] (toTextarea note.text) , div [ class_ "link f7 dib gray w4", title (maybe note.created snd (mmoment note)) ] [ text (maybe " " fst (mmoment note)) ] @@ -103,19 +107,19 @@ nnote st' = ] <> -- | Render Action Links [ div [ class_ "edit_links db mt3" ] - [ button [ type_ ButtonButton, onClick (HE.input_ (NEdit true)), class_ "edit light-silver hover-blue" ] [ text "edit  " ] + [ button [ type_ ButtonButton, onClick \_ -> Just (NEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] , div [ class_ "delete_link di" ] - [ button [ type_ ButtonButton, onClick (HE.input_ (NDeleteAsk true)), class_ ("delete light-silver hover-blue" <> guard st.deleteAsk " dn") ] [ text "delete" ] + [ button [ type_ ButtonButton, onClick \_ -> Just (NDeleteAsk true), class_ ("delete light-silver hover-blue" <> guard st.deleteAsk " dn") ] [ text "delete" ] , span ([ class_ ("confirm red" <> guard (not st.deleteAsk) " dn") ] ) - [ button [ type_ ButtonButton, onClick (HE.input_ (NDeleteAsk false))] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick (HE.input_ NDestroy), class_ "red" ] [ text "destroy" ] + [ button [ type_ ButtonButton, onClick \_ -> Just (NDeleteAsk false)] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> Just NDestroy, class_ "red" ] [ text "destroy" ] ] ] ] ] renderNote_edit = - form [ onSubmit (HE.input NEditSubmit) ] + 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" , value (edit_note.title) , onValueChange (editField Etitle) @@ -135,58 +139,54 @@ nnote st' = , 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 (HE.input_ (NEdit false)) + , onClick \_ -> Just (NEdit false) ] ] display_destroyed = p [ class_ "red"] [text "you killed this note"] mmoment n = mmoment8601 n.created - editField :: forall a. (a -> EditField) -> a -> Maybe (NQuery Unit) - editField f = HE.input NEditField <<< f + editField :: forall a. (a -> EditField) -> a -> Maybe NAction + editField f = Just <<< NEditField <<< f toTextarea input = S.split (Pattern "\n") input # foldMap (\x -> [br_, text x]) # drop 1 - eval :: NQuery ~> H.ParentDSL NState NQuery NChildQuery Unit Void Aff - eval (NNop next) = pure next + handleAction :: NAction -> H.HalogenM NState NAction ChildSlots o Aff Unit + handleAction (NNop) = pure unit -- | EditField - eval (NEditField f next) = do + handleAction (NEditField f) = do _edit_note %= case f of Etitle e -> _ { title = e } Etext e -> _ { text = e } EisMarkdown e -> _ { isMarkdown = e } - pure next -- | Delete - eval (NDeleteAsk e next) = do + handleAction (NDeleteAsk e) = do H.modify_ (_ { deleteAsk = e }) - pure next -- | Destroy - eval (NDestroy next) = do + handleAction (NDestroy) = do note <- use _note void $ H.liftAff (destroyNote note.id) H.modify_ (_ { destroyed = true }) - pure next -- | Start/Stop Editing - eval (NEdit e next) = do + handleAction (NEdit e) = do note <- use _note _edit_note .= note _edit .= e - pure next -- | Submit - eval (NEditSubmit e next) = do + handleAction (NEditSubmit e) = do H.liftEffect (preventDefault e) edit_note <- use _edit_note res <- H.liftAff (editNote edit_note) case res.body of - Left err -> pure next + Left err -> pure unit Right r -> do if (edit_note.id == 0) then do @@ -194,4 +194,3 @@ nnote st' = else do _note .= edit_note _edit .= false - pure next diff --git a/purs/src/Component/RawHtml.purs b/purs/src/Component/RawHtml.purs index b416445..901a8f4 100644 --- a/purs/src/Component/RawHtml.purs +++ b/purs/src/Component/RawHtml.purs @@ -9,54 +9,52 @@ import Effect.Aff (Aff) import Globals (RawHTML(..)) import Halogen as H import Halogen.HTML as HH -import Halogen.HTML.Events as HE import Halogen.HTML.Properties as HP import Web.HTML (HTMLElement) foreign import unsafeSetInnerHTML :: HTMLElement -> RawHTML -> Effect Unit -data Query i a - = SetInnerHTML a - | Receive (Input i) a +data Action i + = SetInnerHTML + | Receive (Input i) type Input i = i -type Output = Void - type State i = { elRef :: H.RefLabel , inputval :: Input i } -component :: H.Component HH.HTML (Query String) (Input String) Output Aff +component :: forall q o. H.Component HH.HTML q (Input String) o Aff component = mkComponent RawHTML -mkComponent :: forall i. (Input i -> RawHTML) -> H.Component HH.HTML (Query i) (Input i) Output Aff -mkComponent toRawHTML = H.lifecycleComponent - { initialState: \inputval -> { elRef: H.RefLabel "inputval", inputval } - , render - , eval - , receiver: HE.input Receive - , initializer: Just $ H.action SetInnerHTML - , finalizer: Nothing - } +mkComponent :: forall q i o. (Input i -> RawHTML) -> H.Component HH.HTML q (Input i) o Aff +mkComponent toRawHTML = + H.mkComponent + { initialState: \inputval -> { elRef: H.RefLabel "inputval", inputval } + , render + , eval: H.mkEval (H.defaultEval { handleAction = handleAction + , initialize = Just SetInnerHTML + , receive = Just <<< Receive + }) + } where - render :: (State i) -> H.ComponentHTML (Query i) + render :: forall m. (State i) -> H.ComponentHTML (Action i) () m render state = HH.div [ HP.ref state.elRef ] [] - eval :: (Query i) ~> H.ComponentDSL (State i) (Query i) Output Aff - eval = case _ of - SetInnerHTML a -> do + handleAction :: (Action i) -> H.HalogenM (State i) (Action i) () o Aff Unit + handleAction = case _ of + SetInnerHTML -> do { elRef } <- H.get mel <- H.getHTMLElementRef elRef for_ mel \el -> do { inputval } <- H.get H.liftEffect (unsafeSetInnerHTML el (toRawHTML inputval)) - pure a + pure unit - Receive inputval a -> do + Receive inputval -> do H.modify_ _ { inputval = inputval } - eval $ SetInnerHTML a + handleAction $ SetInnerHTML diff --git a/static/js/app.min.js b/static/js/app.min.js index 9dc3f98..d329dd6 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(function(n){return function(n){return!0}}),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqInt=i,n.eqChar=l,n.eqString=u,n.eqUnit=o,n.eqVoid=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(n){return function(e){return function(t){if(t instanceof i)return n;if(t instanceof l)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},f=c(!0)(o.const(!1)),s=c(!1)(o.const(!0)),d=new u.Functor(function(n){return function(e){return e instanceof l?new l(n(e.value0)):i.value}}),v=new e.Apply(function(){return d},function(n){return function(e){if(n instanceof l)return u.map(d)(n.value0)(e);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),p=new r.Bind(function(){return v},function(n){return function(e){if(n instanceof l)return e(n.value0);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=i,n.Just=l,n.maybe=c,n.fromMaybe=function(n){return c(n)(a.identity(a.categoryFn))},n.isJust=s,n.isNothing=f,n.fromJust=function(n){return function(n){if(n instanceof l)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=d,n.applyMaybe=v,n.bindMaybe=p}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=J._3(V)));break;case m:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(w))(J._2),y=null;break;case g:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=J._1;break;case D:R--,b=_,w=J._1,y=J._2}break;case I:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,M(B[Q].handler(w)));return B=null,void(U&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function V(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:U=n.left(e),b=I,w=U,j(d);break;case L:null===U&&(U=n.left(e)),0===R&&(b===L&&(W=new h(v,new h(g,w(e)),W,U)),b=_,w=null,y=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return b===T&&j(d),e}},onComplete:V,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?j(d):A.enqueue(function(){j(d)}))}}}function U(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),M=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=M,n.drop=function(n){return function(e){return c.drop(c.length(M(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Lens"],t["Data.Lens.Getter"]),c=t["Data.Lens.Internal.Forget"],f=t["Data.Lens.Lens"],s=t["Data.Lens.Setter"],d=t["Data.Maybe"],v=t["Data.Profunctor.Strong"],p=t["Data.Unit"],m=(t["Effect.Aff"],t["Effect.Aff.Class"]),g=t.Globals,D=(t.Halogen,t["Halogen.Component"]),b=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),h=t["Halogen.HTML.Elements"],w=t["Halogen.HTML.Events"],y=t["Halogen.HTML.Properties"],M=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),C=(t["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),H=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=S,n.UEditField=F,n.USubmit=H,n.EarchiveDefault=C,n.EprivateDefault=A,n.EprivacyLock=T,n.usetting=function(n){var t;g["app'"](p.unit);return D.component(b.bifunctorHTML)({initialState:u.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return w.input(F.create)(n(e))}};return h.div([E.class_("settings-form")])([h.div([E.class_("fw7 mb2")])([b.text("Account Settings")]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),w.onChecked(e(C.create))]),h.label([y.for("archiveDefault"),E.class_("lh-copy")])([b.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([y.for("privateDefault"),E.class_("lh-copy")])([b.text("Default new bookmarks to Private")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),w.onChecked(e(T.create))]),h.label([y.for("privacyLock"),E.class_("lh-copy")])([b.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof F)return a.discard(a.discardUnit)(M.bindHalogenM)(s.modifying(M.monadStateHalogenM)(S(v.strongFn))(function(){if(n.value0 instanceof C)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof T)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): "+[n.value0.constructor.name])}()))(function(){return r.pure(M.applicativeHalogenM)(n.value1)});if(n instanceof H)return a.bind(M.bindHalogenM)(l.use(M.monadStateHalogenM)(S(c.strongForget)))(function(t){return a.discard(a.discardUnit)(M.bindHalogenM)(i.void(M.functorHalogenM)(m.liftAff(M.monadAffHalogenM(m.monadAffAff))(e.editAccountSettings(t))))(function(){return r.pure(M.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:u.const(d.Nothing.value)})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=(t["Data.Ord"],t["Data.Profunctor.Strong"]),D=t["Data.Semigroup"],b=(t["Data.String"],t["Data.String.Common"]),h=(t["Data.String.Pattern"],t["Data.Tuple"]),w=t["Data.Unit"],y=t["Effect.Aff"],M=t["Effect.Aff.Class"],E=t["Effect.Class"],C=t.Globals,A=(t.Halogen,t["Halogen.Component"]),T=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),F=t["Halogen.HTML.Elements"],H=t["Halogen.HTML.Events"],S=t["Halogen.HTML.Properties"],L=t["Halogen.Query.HalogenM"],_=(t.Model,t.Prelude,t.Util),I=t["Web.Event.Event"],P=t["Web.HTML"],U=t["Web.HTML.Location"],x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},Q=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=B,n.BEditSubmit=q,n.BDeleteAsk=j,n.BDestroy=V,n.Eurl=x,n.Etitle=O,n.Edescription=k,n.Etags=W,n.Eprivate=R,n.Etoread=N,n._bm=Q,n._edit_bm=J,n.addbmark=function(n){var t;C["app'"](w.unit);return A.component(T.bifunctorHTML)({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return H.input(B.create)(n(e))}},r=F.div([_.class_("alert")])([T.text("previously saved "),F.span([_.class_("link f7 dib gray pr3"),S.title(p.maybe(n.bm.time)(h.snd)(e))])([T.text(p.maybe(" ")(h.fst)(e))]),F.div([_.class_("edit_links dib ml1")])([F.div([_.class_("delete_link di")])([F.button(D.append(D.semigroupArray)([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!0))),_.class_("delete")])(m.guard(m.monoidArray)(n.deleteAsk)([_.attr("hidden")("hidden")])))([T.text("delete")]),F.span(D.append(D.semigroupArray)([_.class_("confirm red")])(m.guard(m.monoidArray)(!n.deleteAsk)([_.attr("hidden")("hidden")])))([F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!1)))])([T.text("cancel / ")]),F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(V.create)),_.class_("red")])([T.text("destroy")])])])])]),a=F.form([H.onSubmit(H.input(q.create))])([F.table([_.class_("w-100")])([F.tbody_([F.tr_([F.td([_.class_("w1")])([]),F.td_(m.guard(m.monoidArray)(n.bm.bid>0)([r]))]),F.tr_([F.td_([F.label([S.for("url")])([T.text("URL")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputUrl.value),S.id_("url"),_.class_("w-100 mv1"),S.required(!0),S.name("url"),S.autofocus(b.null(n.bm.url)),S.value(n.edit_bm.url),H.onValueChange(t(x.create))])])]),F.tr_([F.td_([F.label([S.for("title")])([T.text("title")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("title"),_.class_("w-100 mv1"),S.name("title"),S.value(n.edit_bm.title),H.onValueChange(t(O.create))])])]),F.tr_([F.td_([F.label([S.for("description")])([T.text("description")])]),F.td_([F.textarea([_.class_("w-100 mt1 mid-gray"),S.id_("description"),S.name("description"),S.rows(4),S.value(n.edit_bm.description),H.onValueChange(t(k.create))])])]),F.tr_([F.td_([F.label([S.for("tags")])([T.text("tags")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("tags"),_.class_("w-100 mv1"),S.name("tags"),S.autocomplete(!1),_.attr("autocapitalize")("off"),S.autofocus(!b.null(n.bm.url)),S.value(n.edit_bm.tags),H.onValueChange(t(W.create))])])]),F.tr_([F.td_([F.label([S.for("private")])([T.text("private")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("private"),_.class_("private pointer"),S.name("private"),S.checked(n.edit_bm.private),H.onChecked(t(R.create))])])]),F.tr_([F.td_([F.label([S.for("toread")])([T.text("read later")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("toread"),_.class_("toread pointer"),S.name("toread"),S.checked(n.edit_bm.toread),H.onChecked(t(N.create))])])]),F.tr_([F.td_([]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputSubmit.value),_.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),S.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),o=F.p([_.class_("red")])([T.text("you killed this bookmark")]);return F.div_([n.destroyed?o:a])},eval:function(n){if(n instanceof j)return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof V)return a.bind(L.bindHalogenM)(o.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.destroy(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return r.pure(L.applicativeHalogenM)(n.value0)})})});if(n instanceof B)return a.discard(a.discardUnit)(L.bindHalogenM)(v.modifying(L.monadStateHalogenM)(J(g.strongFn))(function(){if(n.value0 instanceof x)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof k)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof q)return a.discard(a.discardUnit)(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(I.preventDefault(n.value0)))(function(){return a.bind(L.bindHalogenM)(f.use(L.monadStateHalogenM)(J(s.strongForget)))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(v.assign(L.monadStateHalogenM)(Q(g.strongFn))(t))(function(){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._loc))(function(e){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(P.window))(function(t){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._curQuerystring))(function(o){return a.discard(a.discardUnit)(L.bindHalogenM)((u=_._lookupQueryStringValue(o)("next"))instanceof p.Just?E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(U.setHref(u.value0)(e)):E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(C.closeWindow(t)))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});var u})})})})})})});throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): "+[n.constructor.name])},receiver:l.const(p.Nothing.value)})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=t["Data.Array"],c=(t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Profunctor.Strong"],w=t["Data.Semigroup"],y=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],C=(t["Data.String.Pattern"],t["Data.Tuple"]),A=t["Data.Unit"],T=t["Effect.Aff"],F=t["Effect.Aff.Class"],H=t["Effect.Class"],S=t.Globals,L=(t.Halogen,t["Halogen.Component"]),_=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),I=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],U=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],O=(t.Model,t.Prelude,t.Util),k=t["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},$=function(n){return p.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},nn=function(n){return p.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=V,n.BDeleteAsk=J,n.BDestroy=Q,n.BEdit=G,n.BEditField=z,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=W,n.Etitle=R,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=j,n.BNotifyRemove=Y,n._bm=nn,n._edit_bm=Z,n._edit=$,n.bmark=function(n){var t,p=S["app'"](A.unit);return L.component(_.bifunctorHTML)({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([I.button([O.class_("moon-gray"),P.onClick(P.input_(V.create(!n.bm.selected)))])([_.text("✭")])])]),a=S.mmoment8601(n.bm.time),o=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("edit_links di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(G.create(!0))),O.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([O.class_("delete_link di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!0))),O.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([O.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!1)))])([_.text("cancel / ")]),I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(Q.create)),O.class_("red")])([_.text("destroy")])])])]),I.div([O.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([_.text("  "),I.button([P.onClick(P.input_(X.create)),O.class_("mark_read")])([_.text("mark as read")])]))]),f=function(n){return O.fromNullableStr(p.userR)+"/t:"+n},d=function(n){return function(e){return P.input(z.create)(n(e))}},v=[I.div([O.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([P.onSubmit(P.input(K.create))])([I.div_([_.text("url")]),I.input([U.type_(_.inputTypeIsProp)(i.InputUrl.value),O.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),P.onValueChange(d(W.create))]),I.br_,I.div_([_.text("title")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),P.onValueChange(d(R.create))]),I.br_,I.div_([_.text("description")]),I.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),P.onValueChange(d(N.create))]),I.br_,I.div([U.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),O.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),P.onValueChange(d(B.create))]),I.br_]),I.div([O.class_("edit_form_checkboxes mv3")])([I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),P.onChecked(d(q.create))]),_.text(" "),I.label([U.for("edit_private"),O.class_("mr2")])([_.text("private")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),P.onChecked(d(j.create))]),_.text(" "),I.label([U.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([U.type_(_.inputTypeIsProp)(i.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),P.onClick(P.input_(G.create(!1)))])])])],m=[I.div([O.class_("display")])(w.append(w.semigroupArray)([I.a([U.href(n.bm.url),U.target("_blank"),O.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([_.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([U.href(n.bm.url),O.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),O.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([O.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[I.br_,_.text(n)]})(E.split("\n")(t))))),I.div([O.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!E.null(n.bm.tags))(s.map(s.functorArray))(function(n){return I.a([O.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),U.href(f(n))])([_.text(n)])})(E.split(" ")(n.bm.tags))),I.a([O.class_("link f7 dib gray w4"),U.title(g.maybe(n.bm.time)(C.snd)(a)),U.href((e=n.bm.slug,O.fromNullableStr(p.userR)+"/b:"+e))])([_.text(g.maybe(" ")(C.fst)(a))])])(o))];return I.div([U.id_(y.show(y.showInt)(n.bm.bid)),O.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(w.append(w.semigroupArray)(r)(n.edit?v:m))},eval:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})});if(n instanceof J)return a.discard(a.discardUnit)(x.bindHalogenM)(o.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof Q)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.destroy(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(x.raise(Y.value))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof X)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.markRead(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}}))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof G)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(Z(h.strongFn))(e))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(n.value0))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.strongFn))(function(){if(n.value0 instanceof W)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(x.bindHalogenM)(H.liftEffect(x.monadEffectHalogenM(T.monadEffectAff))(k.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(Z(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(nn(h.strongFn))(t))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(!1))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:f.const(g.Nothing.value)})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Array"],i=(t["Data.Eq"],t["Data.Function"]),l=t["Data.Functor"],c=t["Data.Maybe"],f=t["Data.Ord"],s=t["Data.Unit"],d=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),v=t["Halogen.HTML"],p=t["Halogen.HTML.Elements"],m=t["Halogen.HTML.Events"],g=t["Halogen.Query.HalogenM"],D=(t.Model,t.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=D,n.blist=function(n){return d.parentComponent(f.ordInt)({initialState:i.const(n),render:function(n){return p.div_(l.map(l.functorArray)(function(n){return v.slot(n.bid)(e.bmark(n))(s.unit)(m.input(D.create(n.bid)))})(n))},eval:function(n){var e;return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return r.pure(g.applicativeHalogenM)(n.value2)})},receiver:i.const(c.Nothing.value)})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Foldable"],i=(t["Data.Function"],t["Data.Maybe"]),l=(t.Effect,t["Effect.Aff"]),c=t["Effect.Class"],f=(t.Globals,t.Halogen,t["Halogen.Component"]),s=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),d=t["Halogen.HTML.Elements"],v=t["Halogen.HTML.Events"],p=t["Halogen.HTML.Properties"],m=t["Halogen.Query"],g=t["Halogen.Query.HalogenM"],D=(t["Halogen.Query.InputF"],t.Prelude,t["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=D,n.Receive=b,n.mkComponent=function(n){return f.lifecycleComponent(s.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([p.ref(n.elRef)])([])},eval:function t(i){if(i instanceof D)return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(t){return a.bind(g.bindHalogenM)(m.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(g.bindHalogenM)(u.for_(g.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(r){return c.liftEffect(g.monadEffectHalogenM(l.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(g.applicativeHalogenM)(i.value0)})})});if(i instanceof b)return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(new D(i.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[i.constructor.name])},receiver:v.input(b.create),initializer:i.Just.create(m.action(D.create)),finalizer:i.Nothing.value})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},M=p["app'"](v.unit),E=function(n){return w.fromNullableStr(M.userR)+"/notes/"+n};return m.component(g.bifunctorHTML)({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(E(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(E(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(h.applicativeHalogenM)(n.value0)},receiver:o.const(i.Nothing.value)})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],M=t["Data.Semigroup"],E=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Tuple"]),T=t["Data.Unit"],F=t["Data.Void"],H=t.Effect,S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,P=(t.Halogen,t["Halogen.Component"]),U=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],O=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],R=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],q=t["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},$=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},nn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=Q,n.NEditField=G,n.NEditSubmit=z,n.NEdit=K,n.NDeleteAsk=X,n.NDestroy=Y,n._note=Z,n._edit_note=$,n._edit=nn,n.Etitle=j,n.Etext=V,n.EisMarkdown=J,n.nnote=function(n){var t,g=I["app'"](T.unit);return P.parentComponent(w.ordUnit)({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return I.mmoment8601(n.created)},a=O.div([W.id_(E.show(E.showInt)(n.note.id)),N.class_("note w-100 mw7 pa1 mb2")])(M.append(M.semigroupArray)([O.div([N.class_("display")])([O.div([N.class_("link f5 lh-title")])([x.text(C.null(n.note.title)?"[no title]":n.note.title)]),O.br_,n.note.isMarkdown?O.div([N.class_("description mt1")])([U.slot(T.unit)(r.component)(n.note.text)(F.absurd)]):O.div([N.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[O.br_,x.text(n)]})(C.split("\n")(e))))),O.div([N.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(A.snd)(t(n.note)))])([x.text(b.maybe(" ")(A.fst)(t(n.note)))])])])([O.div([N.class_("edit_links db mt3")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(K.create(!0))),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),O.div([N.class_("delete_link di")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!0))),N.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),O.span([N.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!1)))])([x.text("cancel / ")]),O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(Y.create)),N.class_("red")])([x.text("destroy")])])])])])),o=function(n){return function(e){return k.input(G.create)(n(e))}},u=O.form([k.onSubmit(k.input(z.create))])([O.p([N.class_("mt2 mb1")])([x.text("title:")]),O.input([W.type_(x.inputTypeIsProp)(l.InputText.value),N.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),k.onValueChange(o(j.create))]),O.br_,O.p([N.class_("mt2 mb1")])([x.text("description:")]),O.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),k.onValueChange(o(V.create))]),O.div([N.class_("edit_form_checkboxes mb3")])([O.input([W.type_(x.inputTypeIsProp)(l.InputCheckbox.value),N.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),k.onChecked(o(J.create))]),x.text(" "),O.label([W.for("edit_ismarkdown"),N.class_("mr2")])([x.text("use markdown?")]),O.br_]),O.input([W.type_(x.inputTypeIsProp)(l.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),x.text(" "),O.input([W.type_(x.inputTypeIsProp)(l.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),k.onClick(k.input_(K.create(!1)))])]),f=O.p([N.class_("red")])([x.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:function(n){if(n instanceof Q)return a.pure(R.applicativeHalogenM)(n.value0);if(n instanceof G)return o.discard(o.discardUnit)(R.bindHalogenM)(D.modifying(R.monadStateHalogenM)($(y.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof J)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof X)return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof Y)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(t){return o.discard(o.discardUnit)(R.bindHalogenM)(v.void(R.functorHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.destroyNote(t.id))))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return a.pure(R.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(e){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)($(y.strongFn))(e))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(nn(y.strongFn))(n.value0))(function(){return a.pure(R.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return o.discard(o.discardUnit)(R.bindHalogenM)(_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)($(m.strongForget)))(function(t){return o.bind(R.bindHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof f.Left)return a.pure(R.applicativeHalogenM)(n.value1);if(e.body instanceof f.Right)return o.discard(o.discardUnit)(R.bindHalogenM)(0===t.id?_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(o.bindFlipped(H.bindEffect)(q.setHref(N.fromNullableStr(g.noteR)))(N._loc)):o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(Z(y.strongFn))(t))(function(){return D.assign(R.monadStateHalogenM)(nn(y.strongFn))(!1)}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): "+[n.constructor.name])},receiver:d.const(b.Nothing.value)})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.Functor"]),a=(t["Data.List"],t["Data.List.Types"]),o=(t["Data.Map"],t["Data.Map.Internal"]),u=t["Data.Maybe"],i=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),l=(t["Halogen.Component"],t["Halogen.Data.OrdBox"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce;n.unDriverStateX=f,n.mkDriverStateXRef=s,n.renderStateX=function(n){return function(n){return f(function(e){return(e.prjQuery,l.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(c){return function(){var f=i.new({})(),d=i.new(o.empty)(),v=i.new(o.empty)(),p=i.new(r.voidLeft(u.functorMaybe)(n.initializer)(a.Nil.value))(),m=i.new(new u.Just(a.Nil.value))(),g=i.new(u.Nothing.value)(),D=i.new(0)(),b=i.new(new u.Just(o.empty))(),h={component:n,state:n.initialState(e),refs:o.empty,children:o.empty,childrenIn:d,childrenOut:v,selfRef:f,handler:t,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:u.Nothing.value,prjQuery:l,fresh:D,subscriptions:b,lifecycleHandlers:c};return i.write(h)(f)(),s(f)}}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad.Error.Class"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=t["Data.List"],w=t["Data.List.Types"],y=t["Data.Map"],M=t["Data.Map.Internal"],E=t["Data.Maybe"],C=t["Data.Ord"],A=(t["Data.Semiring"],t["Data.Set"]),T=(t["Data.Tuple"],t.Effect,t["Effect.Aff"]),F=t["Effect.Class"],H=t["Effect.Exception"],S=t["Effect.Ref"],L=t["Halogen.Aff.Driver.State"],_=t["Halogen.Data.OrdBox"],I=t["Halogen.Query.EventSource"],P=t["Halogen.Query.ForkF"],U=t["Halogen.Query.HalogenM"],x=t["Halogen.Query.InputF"],O=(t.Prelude,t["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(e)))(function(r){if(r instanceof E.Nothing)return n(t);if(r instanceof E.Just)return F.liftEffect(T.monadEffectAff)(S.write(new E.Just(new w.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): "+[r.constructor.name])})}}},W=function(n){return function(t){return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({initializers:w.Nil.value,finalizers:w.Nil.value})(n)))(function(){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(t))(function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(g.traverse_(T.applicativeAff)(w.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(T.bindAff)(s.parSequence_(T.parallelAff)(w.foldableList)(n.initializers))(function(){return e.pure(T.applicativeAff)(t)})})})})})}};n.handleLifecycle=W,n.eval=function(n){return function(t){var s=function(t){return function(l){if(l instanceof U.State)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(r){var o=l.value0(r.state);if(O.unsafeRefEq(r.state)(o.value1))return e.pure(T.applicativeAff)(o.value0);if(v.otherwise)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({component:r.component,state:o.value1,refs:r.refs,children:r.children,childrenIn:r.childrenIn,childrenOut:r.childrenOut,selfRef:r.selfRef,handler:r.handler,pendingQueries:r.pendingQueries,pendingOuts:r.pendingOuts,pendingHandlers:r.pendingHandlers,rendering:r.rendering,prjQuery:r.prjQuery,fresh:r.fresh,subscriptions:r.subscriptions,lifecycleHandlers:r.lifecycleHandlers})(t)))(function(){return a.discard(a.discardUnit)(T.bindAff)(W(r.lifecycleHandlers)(n(r.lifecycleHandlers)(t)))(function(){return e.pure(T.applicativeAff)(o.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[o.constructor.name])});if(l instanceof U.Subscribe)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(a.bind(T.bindAff)(I.unEventSource(l.value0))(function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var i=a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions)))(function(t){return e.when(T.applicativeAff)(E.maybe(!1)(M.member(C.ordInt)(u))(t))(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.delete(C.ordInt)(u)))(n.subscriptions)))});return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.insert(C.ordInt)(u)(i)))(n.subscriptions)))(function(){var u=a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(o.await(T.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions))))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(E.isJust(n))(a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(R(t)(r)))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(m.eq(I.eqSubscribeStatus)(n)(I.Listening.value))(u)}))})});return a.discard(a.discardUnit)(T.bindAff)(o.runProcess(T.monadRecAff)(o.pullFrom(T.monadRecAff)(u)(r.producer)))(function(){return i})})})})))(function(n){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Lift)return l.value0;if(l instanceof U.Halt)return u.throwError(T.monadThrowAff)(H.error(l.value0));if(l instanceof U.GetSlots)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value0(b.map(w.functorList)(_.unOrdBox)(h.fromFoldable(A.foldableSet)(y.keys(n.children)))))});if(l instanceof U.CheckSlot)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.member(_.ordOrdBox)(n.component.mkOrdBox(l.value0))(n.children)))});if(l instanceof U.ChildQuery)return N(t)(l.value0)(l.value1);if(l instanceof U.Raise)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(k(n.handler)(n.pendingOuts)(l.value0))(function(){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Par)return d.sequential(T.parallelAff)(r.retractFreeAp(T.applicativeParAff)(r.hoistFreeAp(function(n){return d.parallel(T.parallelAff)(g(t)(n))})(l.value0)));if(l instanceof U.Fork)return P.unFork(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(g(t)(n.value0)))(function(t){return e.pure(T.applicativeAff)(n.value1(D.flip(T.killFiber)(t)))})})(l.value0);if(l instanceof U.GetRef)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.lookup(C.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[l.constructor.name])}},g=function(n){return function(e){return l.foldFree(T.monadRecAff)(s(n))(e)}},R=function(n){return function(e){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(t){var r=t.component.eval(e);return l.foldFree(T.monadRecAff)(s(n))(r)})}},N=function(n){return function(e){return p.unCoyoneda(function(t){return function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){var o=M.lookup(_.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof E.Just)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(o.value0)))(function(n){return L.unDriverStateX(function(n){var e=n.prjQuery(r);if(e instanceof E.Just)return b.map(T.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): "+[e.constructor.name])})(n)});if(o instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): "+[o.constructor.name])})}})}};return function(n){if(n instanceof x.RefUpdate)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(function(e){return{component:e.component,state:e.state,refs:M.alter(C.ordString)(D.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(t)))(function(){return e.pure(T.applicativeAff)(n.value2)});if(n instanceof x.Query)return R(t)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Fork.Class"],u=t["Control.Monad.Rec.Class"],i=t["Control.Parallel"],l=(t["Control.Semigroupoid"],t["Data.Either"]),c=t["Data.Foldable"],f=t["Data.Function"],s=t["Data.Functor"],d=t["Data.List"],v=t["Data.List.Types"],p=(t["Data.Map"],t["Data.Map.Internal"]),m=t["Data.Maybe"],g=t["Data.Ord"],D=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),b=t.Effect,h=t["Effect.Aff"],w=t["Effect.Aff.AVar"],y=t["Effect.Class"],M=t["Effect.Console"],E=t["Effect.Exception"],C=t["Effect.Ref"],A=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),T=t["Halogen.Aff.Driver.State"],F=t["Halogen.Component"],H=t["Halogen.Data.OrdBox"],S=t["Halogen.Query.InputF"],L=(t.Prelude,C.new({initializers:v.Nil.value,finalizers:v.Nil.value})),_=h.runAff_(l.either(E.throwException)(f.const(e.pure(b.applicativeEffect)(D.unit))));n.runUI=function(n){return function(t){return function(I){var P=function(n){return function(){var e=C.read(n)();return C.write(m.Nothing.value)(n)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(e)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})()}},U=function(n){return function(e){return function(t){return function(a){return F.unComponent(function(o){return function(){var u=L(),l=T.initDriverState(o)(t)(e)(a)(u)(),f=C.read(n)();return C.write({initializers:v.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(b.bindEffect)(T.unDriverStateX(function(e){return x(n)(e.selfRef)}))(C.read(l))(),r.bindFlipped(b.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var a=s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.initializer);return C.modify_(function(n){return{initializers:new v.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(v.foldableList)(d.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(c.sequence_(h.applicativeAff)(c.foldableMaybe)(a))(function(){return y.liftEffect(h.monadEffectAff)(function(){return P(t.pendingQueries)(),P(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(C.read(l))(),l}})}}}},x=function(t){return function(a){return function(){var i=C.read(a)(),l=s.map(b.functorEffect)(m.isNothing)(C.read(i.pendingHandlers))();e.when(b.applicativeEffect)(l)(C.write(new m.Just(v.Nil.value))(i.pendingHandlers))(),C.write(p.empty)(i.childrenOut)(),C.write(i.children)(i.childrenIn)();var g=A.queuingHandler(function(n){return s.void(h.functorAff)(k(i.selfRef)(n))})(i.pendingHandlers),w=A.queuingHandler(function(n){return g(S.Query.create(n))})(i.pendingQueries),y=n.render(function(n){return _(g(n))})(function(t){return function(a){return function(o){return function(u){return function(i){return F.unComponentSlot(function(l){return function(f){return function(d){return function(v){return function(g){return function(w){var y=o(l);return function(){var o=C.read(u)(),l=function(){var n=p.pop(H.ordOrdBox)(y)(o);if(n instanceof m.Just)return C.write(n.value0.value1)(u)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(v(d))(function(e){return function(){var t=C.read(n.value0.value0)();return T.unDriverStateX(function(n){return c.for_(b.applicativeEffect)(c.foldableMaybe)(n.prjQuery(e))(function(e){return _(k(n.selfRef)(S.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof m.Nothing)return U(t)(function(n){return m.maybe(e.pure(h.applicativeAff)(D.unit))(a)(g(n))})(d)(w)(f)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),A=s.map(b.functorEffect)(p.member(H.ordOrdBox)(y))(C.read(i))();return e.when(b.applicativeEffect)(A)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),C.modify_(p.insert(H.ordOrdBox)(y)(l))(i)(),r.bind(b.bindEffect)(C.read(l))(T.renderStateX(b.functorEffect)(function(t){if(t instanceof m.Nothing)return E.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof m.Just)return e.pure(b.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(t)(w)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=C.read(i.childrenOut)();return r.bind(b.bindEffect)(C.read(i.childrenIn))(c.traverse_(b.applicativeEffect)(p.foldableMap)(function(e){return function(){var r=C.read(e)();return T.renderStateX_(b.applicativeEffect)(n.removeChild)(r)(),O(t)(r)()}}))(),C.modify_(function(n){return{rendering:new m.Just(y),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(b.applicativeEffect)(l)(f.flip(u.tailRecM(u.monadRecEffect))(D.unit)(function(n){return function(){var n=C.read(i.pendingHandlers)();C.write(new m.Just(v.Nil.value))(i.pendingHandlers)(),c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})(n)();var e=C.read(i.pendingHandlers)();return m.maybe(!1)(d.null)(e)?s.voidLeft(b.functorEffect)(C.write(m.Nothing.value)(i.pendingHandlers))(new u.Done(D.unit))():new u.Loop(D.unit)}}))()}}},O=function n(e){return T.unDriverStateX(function(t){return function(){var a;return(a=t,function(){return r.bindFlipped(b.bindEffect)(c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(n))}))(C.read(a.subscriptions))(),C.write(m.Nothing.value)(a.subscriptions)()})(),c.for_(b.applicativeEffect)(c.foldableMaybe)(s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.finalizer))(function(n){return C.modify_(function(e){return{initializers:e.initializers,finalizers:new v.Cons(n,e.finalizers)}})(e)})(),c.for_(b.applicativeEffect)(p.foldableMap)(t.children)(r.composeKleisliFlipped(b.bindEffect)(n(e))(C.read))()}})},k=function(n){return A.eval(x)(n)};return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(L))(function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.new(0)))(function(u){return A.handleLifecycle(n)(function(){var i,f=C.new(p.empty)();return r.bind(b.bindEffect)(r.bind(b.bindEffect)(U(n)((i=f,function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.read(i)))(function(e){return c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(s.map(p.functorMap)(w.put(n))(e))})}))(I)(m.Just.create)(t))(C.read))(T.unDriverStateX(function(n){return e.pure(b.applicativeEffect)({query:(i=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof m.Just)return k(i)(new S.Query(t.value0));if(t instanceof m.Nothing)return y.liftEffect(h.monadEffectAff)(E.throwException(E.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(t=u,function(n){return function(e){return r.bind(h.bindAff)(w.empty)(function(u){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(function(){var e=C.read(t)();return C.modify_(function(n){return n+1|0})(t)(),C.modify_(p.insert(g.ordInt)(e)(u))(n)(),e}))(function(t){var i=a.producer(h.monadAff)(s.map(h.functorAff)(l.Left.create)(w.take(u)));return s.void(h.functorAff)(o.fork(o.monadForkAff)(r.discard(r.discardUnit)(h.bindAff)(a.runProcess(h.monadRecAff)(a.connect(h.monadRecAff)(h.parallelAff)(i)(e)))(function(){return r.discard(r.discardUnit)(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.modify_(p.delete(g.ordInt)(t))(n)))(function(){return w.kill(E.error("ended"))(u)})})))})})}})(f)});var t,i}))()})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e,r=t["Data.Array"],a=(t["Data.Eq"],t["Data.Function.Uncurried"],t["Data.Maybe"]),o=t["Data.Nullable"],u=t["Data.Tuple"],i=t.Effect,l=(t["Effect.Uncurried"],t["Halogen.VDom.Machine"]),c=t["Halogen.VDom.Types"],f=t["Halogen.VDom.Util"],s=(t.Prelude,t["Web.DOM.Document"],t["Web.DOM.Element"]),d=(t["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof a.Just&&e.value0 instanceof a.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof a.Nothing&&e.value0 instanceof a.Nothing)}),v=function(n,e,t){var r=n.buildWidget(n)(t);return new l.Step(r.value0,function n(e,t){return function(r){if(r instanceof c.Grafted)return n(e,t)(c.runGraft(r.value0));if(r instanceof c.Widget){var a=t.value1(r.value0);return new l.Step(a.value0,n(e,a),a.value2)}return t.value2(),e(r)}}(e,r),r.value2)},p=function(n,e,t){var r,a=f.createTextNode(t,n.document),o=(r=a,function(){var n=f.parentNode(r);return f.removeChild(r,n)});return new l.Step(a,function n(e,t,r,a){return function(o){if(o instanceof c.Grafted)return n(e,t,r,a)(c.runGraft(o.value0));if(o instanceof c.Text){var u=new l.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(f.setTextContent(o.value0,r),u)}return t(),e(o)}}(e,o,a,t),o)},m=(e=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),f.forInE(t,function(n,e){return e.value2()}),l.halt(e)()}},function(n,t,a,i){var v=f.createElement(o.toNullable(a.value0),a.value1,n.document),p=s.toNode(v),m=f.strMapWithIxE(i,u.fst,function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,p),a}),g=n.buildAttributes(v)(a.value2),D=e(p,g,m);return new l.Step(p,function n(t,a,o,i,s,v,p){return function(m){if(m instanceof c.Grafted)return n(t,a,o,i,s,v,p)(c.runGraft(m.value0));if(m instanceof c.Keyed&&d(s,m.value0)){var g=r.length(m.value1);if(0===p&&0===g){var D=l.step(i)(m.value0.value2),b=e(o,D,v);return new l.Step(o,n(t,b,o,D,m.value0,v,0),b)}D=f.diffWithKeyAndIxE(v,m.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return f.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,o),a});var h=l.step(i)(m.value0.value2);return b=e(o,h,D),new l.Step(o,n(t,b,o,h,m.value0,D,g),b)}return a(),t(m)}}(t,D,p,g,a,m,r.length(i)),D)}),g=function(){var n=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),i.foreachE(t)(l.halt)(),l.halt(e)()}};return function(e,t,a,u){var i=f.createElement(o.toNullable(a.value0),a.value1,e.document),v=s.toNode(i),p=f.forE(u,function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,v),r}),m=e.buildAttributes(i)(a.value2),g=n(v,m,p);return new l.Step(v,function e(t,a,o,u,i,s){return function(v){if(v instanceof c.Grafted)return e(t,a,o,u,i,s)(c.runGraft(v.value0));if(v instanceof c.Elem&&d(i,v.value0)){var p=r.length(v.value1);if(0===r.length(s)&&0===p){var m=l.step(u)(v.value0.value2),g=n(o,m,s);return new l.Step(o,e(t,g,o,m,v.value0,s),g)}m=f.diffWithIxE(s,v.value1,function(n,e,t){var r=e.value1(t);return f.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,o),r});var D=l.step(u)(v.value0.value2);return g=n(o,D,m),new l.Step(o,e(t,g,o,D,v.value0,m),g)}return a(),t(v)}}(t,g,v,m,a,p),g)}}();n.buildVDom=function(n){return function e(t){if(t instanceof c.Text)return p(n,e,t.value0);if(t instanceof c.Elem)return g(n,e,t.value0,t.value1);if(t instanceof c.Keyed)return m(n,e,t.value0,t.value1);if(t instanceof c.Widget)return v(n,e,t.value0);if(t instanceof c.Grafted)return e(c.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])}},n.buildText=p,n.buildElem=g,n.buildKeyed=m,n.buildWidget=v}(t["Halogen.VDom.DOM"]=t["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Class"],v=t["Effect.Ref"],p=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),m=t["Halogen.Aff.Driver.State"],g=(t["Halogen.Component"],t["Halogen.HTML.Core"],t["Halogen.Query.InputF"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),D=t["Halogen.VDom.DOM.Prop"],b=t["Halogen.VDom.Machine"],h=(t.Prelude,t["Unsafe.Reference"]),w=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),y=t["Web.HTML"],M=t["Web.HTML.HTMLDocument"],E=t["Web.HTML.HTMLElement"],C=t["Web.HTML.Window"],A=function(n){return function(){var e=w.parentNode(n.node)();return o.traverse_(f.applicativeEffect)(o.foldableMaybe)(function(e){return w.removeChild(n.node)(e)})(e)()}},T=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(s){if(s instanceof l.Nothing)return function(){var i=v.new(a)(),l=function(n){return function(t){return function(r){var a=m.unRenderStateX(function(n){return n.node}),o=e.pure(f.applicativeEffect)(c.unit),u=function n(e){var r=v.read(t)()(e)(),u=a(r);return new b.Step(u,n,o)};return{buildWidget:function(n){return function(n){var e=v.read(t)()(n)(),r=a(e);return new b.Step(r,u,o)}},buildAttributes:D.buildProp(n),document:r}}}}(r)(i)(n),s=g.buildVDom(l)(o),d=b.extract(s);return u.void(f.functorEffect)(w.appendChild(d)(E.toNode(t)))(),{machine:s,node:d,renderChildRef:i}};if(s instanceof l.Just)return function(){v.write(a)(s.value0.renderChildRef)();var n=w.parentNode(s.value0.node)(),t=w.nextSibling(s.value0.node)(),r=b.step(s.value0.machine)(o),d=b.extract(r);return e.when(f.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(h.unsafeRefEq)(s.value0.node)(d))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(f.functorEffect)(w.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(f.functorEffect)(w.appendChild(n)(r.value0)):e.pure(f.applicativeEffect)(c.unit)}}}(d)(t)(n))(),{machine:r,node:d,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:A}}};n.runUI=function(n){return function(e){return function(t){return r.bind(s.bindAff)(d.liftEffect(s.monadEffectAff)(u.map(f.functorEffect)(M.toDocument)(r.bindFlipped(f.bindEffect)(C.document)(y.window))))(function(r){return p.runUI(T(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),M=e._mainImpl;n.main=M,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},r.getResponse=function(n){return n.response}),function(n,e){return function(t,a){var o=r.newXHR(),u=r.fixupUrl(e.url);if(o.open(e.method||"GET",u,!0,e.username,e.password),e.headers)try{for(var i,l=0;null!=(i=e.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(f){t(f)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return o.onerror=c("AJAX request failed"),o.ontimeout=c("AJAX request timed out"),o.onload=function(){a({status:o.status,statusText:o.statusText,headers:o.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(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=j._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?j._1.killed(n.fromLeft(P))(j._2):y?j._1.failed(n.fromLeft(y))(j._2):j._1.completed(n.fromRight(w))(j._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=j._1;break;case D:W--,b=_,w=j._1,y=j._2}break;case I:for(var V in B)B.hasOwnProperty(V)&&(q=q&&B[V].rethrow,E(B[V].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 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])}());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)},j=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=j,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)(j(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"]||{}),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"],l=(t["Data.Const"],t["Data.Eq"],t["Data.Foldable"]),c=t["Data.Function"],f=t["Data.Functor"],s=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),d=t["Data.Lens.Internal.Forget"],v=t["Data.Lens.Lens"],p=t["Data.Lens.Setter"],m=t["Data.Maybe"],g=t["Data.Monoid"],D=t["Data.Nullable"],b=t["Data.Profunctor.Strong"],h=t["Data.Semigroup"],w=t["Data.Show"],y=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],M=(t["Data.String.Pattern"],t["Data.Tuple"]),C=t["Data.Unit"],A=t["Effect.Aff"],T=t["Effect.Aff.Class"],F=t["Effect.Class"],H=t.Globals,S=(t.Halogen,t["Halogen.Component"]),L=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),_=t["Halogen.HTML.Elements"],I=t["Halogen.HTML.Events"],k=t["Halogen.HTML.Properties"],P=t["Halogen.Query.HalogenM"],x=(t.Model,t.Prelude,t.Util),U=t["Web.Event.Event"],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(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},Z=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},$=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=Q,n.BDeleteAsk=j,n.BDestroy=V,n.BEdit=z,n.BEditField=G,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=R,n.Etitle=O,n.Edescription=W,n.Etags=N,n.Eprivate=B,n.Etoread=q,n.BNotifyRemove=J,n._bm=$,n._edit_bm=Y,n._edit=Z,n.bmark=function(n){var t,v=H["app'"](C.unit);return S.mkComponent({initialState:c.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([_.button([x.class_("moon-gray"),I.onClick(function(e){return new m.Just(new Q(!n.bm.selected))})])([L.text("✭")])])]),a=H.mmoment8601(n.bm.time),c=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("edit_links di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new z(!0))}),x.class_("edit light-silver hover-blue")])([L.text("edit  ")]),_.div([x.class_("delete_link di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!0))}),x.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),_.span([x.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!1))})])([L.text("cancel / ")]),_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(V.value)}),x.class_("red")])([L.text("destroy")])])])]),_.div([x.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([L.text("  "),_.button([I.onClick(function(n){return new m.Just(X.value)}),x.class_("mark_read")])([L.text("mark as read")])]))]),s=function(n){return x.fromNullableStr(v.userR)+"/t:"+n},d=function(n){return function(e){return m.Just.create(G.create(n(e)))}},p=[_.div([x.class_("edit_bookmark_form pa2 pt0 bg-white")])([_.form([I.onSubmit(function(n){return m.Just.create(K.create(n))})])([_.div_([L.text("url")]),_.input([k.type_(L.isPropInputType)(u.InputUrl.value),x.class_("url w-100 mb2 pt1 f7 edit_form_input"),k.required(!0),k.name("url"),k.value(n.edit_bm.url),I.onValueChange(d(R.create))]),_.br_,_.div_([L.text("title")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("title w-100 mb2 pt1 f7 edit_form_input"),k.name("title"),k.value(n.edit_bm.title),I.onValueChange(d(O.create))]),_.br_,_.div_([L.text("description")]),_.textarea([x.class_("description w-100 mb1 pt1 f7 edit_form_input"),k.name("description"),k.rows(5),k.value(n.edit_bm.description),I.onValueChange(d(W.create))]),_.br_,_.div([k.id_("tags_input_box")])([_.div_([L.text("tags")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("tags w-100 mb1 pt1 f7 edit_form_input"),k.name("tags"),k.autocomplete(!1),x.attr("autocapitalize")("off"),k.value(n.edit_bm.tags),I.onValueChange(d(N.create))]),_.br_]),_.div([x.class_("edit_form_checkboxes mv3")])([_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("private pointer"),k.id_("edit_private"),k.name("private"),k.checked(n.edit_bm.private),I.onChecked(d(B.create))]),L.text(" "),_.label([k.for("edit_private"),x.class_("mr2")])([L.text("private")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("toread pointer"),k.id_("edit_toread"),k.name("toread"),k.checked(n.edit_bm.toread),I.onChecked(d(q.create))]),L.text(" "),_.label([k.for("edit_toread")])([L.text("to-read")]),_.br_]),_.input([k.type_(L.isPropInputType)(u.InputSubmit.value),x.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("save")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputReset.value),x.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("cancel"),I.onClick(function(n){return new m.Just(new z(!1))})])])])],b=[_.div([x.class_("display")])(h.append(h.semigroupArray)([_.a([k.href(n.bm.url),k.target("_blank"),x.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([L.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),_.br_,_.a([k.href(n.bm.url),x.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),_.a([k.href(m.fromMaybe("http://archive.is/"+n.bm.url)(D.toMaybe(n.bm.archiveUrl))),x.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(D.toMaybe(n.bm.archiveUrl)))(" green")),k.target("_blank"),k.title("archive link")])([m.isJust(D.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),_.br_,_.div([x.class_("description mt1 mid-gray")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(g.monoidArray)(function(n){return[_.br_,L.text(n)]})(E.split("\n")(t))))),_.div([x.class_("tags")])(g.guard(g.monoidFn(g.monoidFn(g.monoidArray)))(!E.null(n.bm.tags))(f.map(f.functorArray))(function(n){return _.a([x.class_("link tag mr1"+g.guard(g.monoidString)("."===y.take(1)(n))(" private")),k.href(s(n))])([L.text(n)])})(E.split(" ")(n.bm.tags))),_.a([x.class_("link f7 dib gray w4"),k.title(m.maybe(n.bm.time)(M.snd)(a)),k.href((e=n.bm.slug,x.fromNullableStr(v.userR)+"/b:"+e))])([L.text(m.maybe(" ")(M.fst)(a))])])(c))];return _.div([k.id_(w.show(w.showInt)(n.bm.bid)),x.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])(h.append(h.semigroupArray)(r)(n.edit?p:b))},eval:S.mkEval({handleAction:function(n){if(n instanceof Q)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(t){return r.discard(r.discardUnit)(P.bindHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.modifying(P.monadStateHalogenM)($(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(P.monadStateHalogenM)(Y(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 j)return a.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.destroy(n.bid))))(function(){return P.raise(J.value)})});if(n instanceof X)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.markRead(n.bid))))(function(){return p.modifying(P.monadStateHalogenM)($(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 z)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(e){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)(Y(b.strongFn))(e))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(n.value0)})});if(n instanceof G)return p.modifying(P.monadStateHalogenM)(Y(b.strongFn))(function(){if(n.value0 instanceof R)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)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 B)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 227, column 17 - line 233, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return r.discard(r.discardUnit)(P.bindHalogenM)(F.liftEffect(P.monadEffectHalogenM(A.monadEffectAff))(U.preventDefault(n.value0)))(function(){return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)(Y(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)($(b.strongFn))(n))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 194, column 3 - line 194, column 76): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.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"]||{}),(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["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},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.Const"],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}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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=j,n.EisMarkdown=V,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(j.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(V.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 j)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 V)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 162, column 19 - line 165, 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 188, column 5 - line 196, column 22): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 157, column 3 - line 157, 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 6e766ca4c140da819720a3b290ce226340685343..29e15403519ae1eb9364f37af309db98ace9986a 100644 GIT binary patch delta 63165 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%0D4(2W*6J3|9Y>ipf=Xw(+ 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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 eqVoid = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqVoid\"] = eqVoid;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n };\n var ordVoid = new Ord(function () {\n return Data_Eq.eqVoid;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n exports[\"ordVoid\"] = ordVoid;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"when\"] = when;\n})(PS[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"sequence_\"] = sequence_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n\n exports.foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"foreachE\"] = $foreign.foreachE;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n var fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n };\n exports[\"fromFoldable\"] = fromFoldable;\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = function ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var unOrdBox = function (v) {\n return v.value2;\n };\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"unOrdBox\"] = unOrdBox;\n exports[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new RefUpdate(value0, value1, value2);\n };\n };\n };\n return RefUpdate;\n })();\n var Query = (function () {\n function Query(value0) {\n this.value0 = value0;\n };\n Query.create = function (value0) {\n return new Query(value0);\n };\n return Query;\n })(); \n var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof RefUpdate) {\n return new RefUpdate(v.value0, v.value1, f(v.value2));\n };\n if (v instanceof Query) {\n return new Query(g(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): \" + [ v.constructor.name ]);\n };\n };\n });\n var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Query\"] = Query;\n exports[\"bifunctorInputF\"] = bifunctorInputF;\n exports[\"functorInputF\"] = functorInputF;\n})(PS[\"Halogen.Query.InputF\"] = PS[\"Halogen.Query.InputF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"]; \n var Step = (function () {\n function Step(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Step(value0, value1, value2);\n };\n };\n };\n return Step;\n })();\n var step = function (v) {\n return v.value1;\n };\n var halt = function (v) {\n return v.value2;\n };\n var extract = function (v) {\n return v.value0;\n };\n exports[\"Step\"] = Step;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var ElemSpec = (function () {\n function ElemSpec(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ElemSpec.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ElemSpec(value0, value1, value2);\n };\n };\n };\n return ElemSpec;\n })();\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return new Elem(value0, value1);\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return new Keyed(value0, value1);\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($90) {\n return f($90);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var functorElemSpec = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new ElemSpec(m.value0, m.value1, f(m.value2));\n };\n });\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($92) {\n return f(v.value0($92));\n }, function ($93) {\n return g(v.value1($93));\n }, v.value2));\n });\n };\n });\n var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));\n };\n return new Grafted(graft(new Graft(f, g, v)));\n };\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 74, column 7 - line 74, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"ElemSpec\"] = ElemSpec;\n exports[\"bifunctorVDom\"] = bifunctorVDom;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n exports[\"functorElemSpec\"] = functorElemSpec;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n exports[\"effectUnit\"] = effectUnit;\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 178, column 16 - line 185, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var functorProp = new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof Handler) {\n return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));\n };\n if (v instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));\n };\n return v;\n };\n });\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 165, column 5 - line 175, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var done = function (ps) {\n var v = Foreign_Object.lookup(\"ref\")(ps);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return function () {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n };\n return Halogen_VDom_Util.effectUnit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 109, column 5 - line 131, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patch = function (prevEvents, ps1) {\n return function (ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(prevEvents);\n var onThese = diffProp(prevEvents, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n };\n var render = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n return render;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n exports[\"functorProp\"] = functorProp;\n})(PS[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n }; \n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($27) {\n return HTML(Halogen_VDom_Types.Text.create($27));\n };\n var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var slot = function ($29) {\n return HTML(Halogen_VDom_Types.Widget.create($29));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($31) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($31));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($32) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));\n };\n };\n }; \n var onOffIsProp = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n }); \n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var inputTypeIsProp = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);\n };\n };\n };\n }; \n var buttonTypeIsProp = new IsProp(function ($44) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));\n });\n var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);\n };\n };\n }); \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"bifunctorHTML\"] = bifunctorHTML;\n exports[\"stringIsProp\"] = stringIsProp;\n exports[\"intIsProp\"] = intIsProp;\n exports[\"booleanIsProp\"] = booleanIsProp;\n exports[\"buttonTypeIsProp\"] = buttonTypeIsProp;\n exports[\"inputTypeIsProp\"] = inputTypeIsProp;\n exports[\"onOffIsProp\"] = onOffIsProp;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"];\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n exports[\"unCoyoneda\"] = unCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Listening = (function () {\n function Listening() {\n\n };\n Listening.value = new Listening();\n return Listening;\n })();\n var Done = (function () {\n function Done() {\n\n };\n Done.value = new Done();\n return Done;\n })();\n var unEventSource = function (v) {\n return v;\n };\n var eqSubscribeStatus = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Listening && y instanceof Listening) {\n return true;\n };\n if (x instanceof Done && y instanceof Done) {\n return true;\n };\n return false;\n };\n });\n exports[\"Listening\"] = Listening;\n exports[\"Done\"] = Done;\n exports[\"unEventSource\"] = unEventSource;\n exports[\"eqSubscribeStatus\"] = eqSubscribeStatus;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unFork = Unsafe_Coerce.unsafeCoerce;\n exports[\"unFork\"] = unFork;\n})(PS[\"Halogen.Query.ForkF\"] = PS[\"Halogen.Query.ForkF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var HalogenM = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Halt = (function () {\n function Halt(value0) {\n this.value0 = value0;\n };\n Halt.create = function (value0) {\n return new Halt(value0);\n };\n return Halt;\n })();\n var GetSlots = (function () {\n function GetSlots(value0) {\n this.value0 = value0;\n };\n GetSlots.create = function (value0) {\n return new GetSlots(value0);\n };\n return GetSlots;\n })();\n var CheckSlot = (function () {\n function CheckSlot(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CheckSlot.create = function (value0) {\n return function (value1) {\n return new CheckSlot(value0, value1);\n };\n };\n return CheckSlot;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return new ChildQuery(value0, value1);\n };\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0) {\n this.value0 = value0;\n };\n Fork.create = function (value0) {\n return new Fork(value0);\n };\n return Fork;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n }; \n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);\n };\n });\n var applyHalogenM = new Control_Apply.Apply(function () {\n return functorHalogenM;\n }, function (v) {\n return function (v1) {\n return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);\n };\n });\n var bindHalogenM = new Control_Bind.Bind(function () {\n return applyHalogenM;\n }, function (v) {\n return function (f) {\n return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {\n var v1 = f(x);\n return v1;\n });\n };\n }); \n var applicativeHalogenM = new Control_Applicative.Applicative(function () {\n return applyHalogenM;\n }, function (a) {\n return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);\n });\n var monadHalogenM = new Control_Monad.Monad(function () {\n return applicativeHalogenM;\n }, function () {\n return bindHalogenM;\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function (eff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function (aff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));\n });\n };\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($180) {\n return HalogenM(Control_Monad_Free.liftF(State.create($180)));\n });\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Lift\"] = Lift;\n exports[\"Halt\"] = Halt;\n exports[\"GetSlots\"] = GetSlots;\n exports[\"CheckSlot\"] = CheckSlot;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"getRef\"] = getRef;\n exports[\"raise\"] = raise;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applyHalogenM\"] = applyHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ComponentSlot.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ComponentSlot(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ComponentSlot;\n })();\n var unComponentSlot = function (f) {\n return function (cs) {\n return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);\n };\n };\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkComponentSlot = ComponentSlot.create;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var parentComponent = function (dictOrd) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)\n });\n };\n };\n var lifecycleComponent = function (dictBifunctor) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: spec.initializer,\n finalizer: spec.finalizer,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)\n });\n };\n }; \n var component = function (dictBifunctor) {\n return function (spec) {\n return lifecycleComponent(dictBifunctor)({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value\n });\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"component\"] = component;\n exports[\"lifecycleComponent\"] = lifecycleComponent;\n exports[\"parentComponent\"] = parentComponent;\n exports[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_InputF.RefUpdate(p, mel, Data_Unit.unit));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.booleanIsProp)(\"required\");\n var rows = prop(Halogen_HTML_Core.intIsProp)(\"rows\"); \n var target = prop(Halogen_HTML_Core.stringIsProp)(\"target\");\n var title = prop(Halogen_HTML_Core.stringIsProp)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.stringIsProp)(\"value\");\n var name = prop(Halogen_HTML_Core.stringIsProp)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.stringIsProp)(\"id\");\n var href = prop(Halogen_HTML_Core.stringIsProp)(\"href\");\n var $$for = prop(Halogen_HTML_Core.stringIsProp)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.stringIsProp)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.booleanIsProp)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.booleanIsProp)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.onOffIsProp)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var slot = function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n var f = Halogen_Component.unComponent(function (v) {\n return v.receiver;\n })(component);\n return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var keys = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 606, column 1 - line 606, column 38): \" + [ v.constructor.name ]);\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"keys\"] = keys;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toList = function (v) {\n return Data_Map_Internal.keys(v);\n };\n var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function ($65) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($66) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($67) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67));\n };\n };\n });\n exports[\"foldableSet\"] = foldableSet;\n})(PS[\"Data.Set\"] = PS[\"Data.Set\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Set = PS[\"Data.Set\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var keys = function ($0) {\n return Data_Functor[\"void\"](Data_Map_Internal.functorMap)($0);\n };\n exports[\"keys\"] = keys;\n})(PS[\"Data.Map\"] = PS[\"Data.Map\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($10) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($10));\n };\n var action = function (act) {\n return act(Data_Unit.unit);\n };\n exports[\"action\"] = action;\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var input_ = function (f) {\n return function (v) {\n return Data_Maybe.Just.create(Halogen_Query.action(f));\n };\n };\n var input = function (f) {\n return function (x) {\n return Data_Maybe.Just.create(Halogen_Query.action(f(x)));\n };\n };\n var handler = function (et) {\n return function ($1) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));\n };\n }; \n var onClick = function ($2) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));\n }; \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"input\"] = input;\n exports[\"input_\"] = input_;\n exports[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n UEditField.create = function (value0) {\n return function (value1) {\n return new UEditField(value0, value1);\n };\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n USubmit.create = function (value0) {\n return function (value1) {\n return new USubmit(value0, value1);\n };\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($22) {\n return Halogen_HTML_Events.input(UEditField.create)(f($22));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var $$eval = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1))))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(BEditField.create)(f($59));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $26 = v.bm.bid > 0;\n if ($26) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $27 = !v.destroyed;\n if ($27) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $31 = {};\n for (var $32 in v1) {\n if ({}.hasOwnProperty.call(v1, $32)) {\n $31[$32] = v1[$32];\n };\n };\n $31.deleteAsk = v.value0;\n return $31;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $37 = {};\n for (var $38 in v2) {\n if ({}.hasOwnProperty.call(v2, $38)) {\n $37[$38] = v2[$38];\n };\n };\n $37.destroyed = true;\n return $37;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BStar = (function () {\n function BStar(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BStar.create = function (value0) {\n return function (value1) {\n return new BStar(value0, value1);\n };\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEdit.create = function (value0) {\n return function (value1) {\n return new BEdit(value0, value1);\n };\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead(value0) {\n this.value0 = value0;\n };\n BMarkRead.create = function (value0) {\n return new BMarkRead(value0);\n };\n return BMarkRead;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $34 = {};\n for (var $35 in v1) {\n if ({}.hasOwnProperty.call(v1, $35)) {\n $34[$35] = v1[$35];\n };\n };\n $34.deleteAsk = v.value0;\n return $34;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 231, column 17 - line 237, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($64) {\n return Halogen_HTML_Events.input(BEditField.create)(f($64));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $59 = Data_String_Common[\"null\"](v.bm.title);\n if ($59) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($60) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new HandleBMessage(value0, value1, value2);\n };\n };\n };\n return HandleBMessage;\n })();\n var blist = function (st) {\n var render = function (bms) {\n var renderBookmark = function (b) {\n return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));\n };\n var $$eval = function (v) {\n var removeBookmark = function (bookmarkId) {\n return Data_Array.filter(function (b) {\n return b.bid !== bookmarkId;\n });\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);\n });\n };\n return Halogen_Component.parentComponent(Data_Ord.ordInt)({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML(value0) {\n this.value0 = value0;\n };\n SetInnerHTML.create = function (value0) {\n return new SetInnerHTML(value0);\n };\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var $$eval = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return $$eval(new SetInnerHTML(v.value1));\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": $$eval,\n receiver: Halogen_HTML_Events.input(Receive.create),\n initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)),\n finalizer: Data_Maybe.Nothing.value\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var $$eval = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop(value0) {\n this.value0 = value0;\n };\n NNop.create = function (value0) {\n return new NNop(value0);\n };\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditField.create = function (value0) {\n return function (value1) {\n return new NEditField(value0, value1);\n };\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditSubmit.create = function (value0) {\n return function (value1) {\n return new NEditSubmit(value0, value1);\n };\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEdit.create = function (value0) {\n return function (value1) {\n return new NEdit(value0, value1);\n };\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NDeleteAsk.create = function (value0) {\n return function (value1) {\n return new NDeleteAsk(value0, value1);\n };\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy(value0) {\n this.value0 = value0;\n };\n NDestroy.create = function (value0) {\n return new NDestroy(value0);\n };\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $24 = Data_String_Common[\"null\"](v.note.title);\n if ($24) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(NEditField.create)(f($59));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var $$eval = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n if (v instanceof NEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 158, column 19 - line 161, column 44): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDeleteAsk) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $44 = {};\n for (var $45 in v2) {\n if ({}.hasOwnProperty.call(v2, $45)) {\n $44[$45] = v2[$45];\n };\n };\n $44.destroyed = true;\n return $44;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n };\n if (v2.body instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var $55 = v1.id === 0;\n if ($55) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.parentComponent(Data_Ord.ordUnit)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = function (v) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(st.prjQuery)(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (prjQuery) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v3 = Effect_Ref[\"new\"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v6 = Effect_Ref[\"new\"](0)();\n var v7 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Data_Map_Internal.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handler: handler,\n pendingQueries: v3,\n pendingOuts: v4,\n pendingHandlers: v5,\n rendering: Data_Maybe.Nothing.value,\n prjQuery: prjQuery,\n fresh: v6,\n subscriptions: v7,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n };\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Set = PS[\"Data.Set\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var queuingHandler = function (handler) {\n return function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return handler(message);\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): \" + [ v.constructor.name ]);\n });\n };\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var $$eval = function (render) {\n return function (r) {\n var go = function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n var v2 = v.value0(v1.state);\n if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v1.component,\n state: v2.value1,\n refs: v1.refs,\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): \" + [ v2.constructor.name ]);\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: i\n };\n })(v1.fresh)))(function (v3) {\n var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v4) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {\n return done$prime;\n });\n });\n });\n })))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Lift) {\n return v.value0;\n };\n if (v instanceof Halogen_Query_HalogenM.Halt) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));\n };\n if (v instanceof Halogen_Query_HalogenM.GetSlots) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.CheckSlot) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v.value0)(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));\n })(v.value0)));\n };\n if (v instanceof Halogen_Query_HalogenM.Fork) {\n return Halogen_Query_ForkF.unFork(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));\n });\n })(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): \" + [ v.constructor.name ]);\n };\n };\n var evalM = function (ref) {\n return function (v) {\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);\n };\n };\n var evalF = function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = v[\"component\"][\"eval\"](q);\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);\n });\n };\n };\n var evalChildQuery = function (ref) {\n return function (p) {\n return Data_Coyoneda.unCoyoneda(function (k) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n var v3 = ds.prjQuery(q);\n if (v3 instanceof Data_Maybe.Just) {\n return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Query projection failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): \" + [ v3.constructor.name ]);\n })(v2);\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Slot lookup failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): \" + [ v1.constructor.name ]);\n });\n };\n });\n };\n };\n return function (v) {\n if (v instanceof Halogen_Query_InputF.RefUpdate) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {\n return {\n component: v1.component,\n state: v1.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(v1.refs),\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n };\n })(r)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);\n });\n };\n if (v instanceof Halogen_Query_InputF.Query) {\n return evalF(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"eval\"] = $$eval;\n exports[\"queuingHandler\"] = queuingHandler;\n})(PS[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));\n })();\n };\n };\n var cleanupSubscriptions = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));\n }))(Effect_Ref.read(v.subscriptions))();\n return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));\n })(st.component.initializer);\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return function (prjQuery) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($66));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (mkOrdBox) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (p) {\n return function (ctor) {\n return function (input) {\n return function (inputQuery) {\n return function (outputQuery) {\n return function (prjQuery) {\n var ordP = mkOrdBox(p);\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {\n return function __do() {\n var v2 = Effect_Ref.read(v1.value0.value0)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {\n return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));\n });\n })(v2)();\n };\n })();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)(function ($68) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));\n })(input)(prjQuery)(ctor)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n };\n };\n };\n };\n };\n });\n };\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));\n })(v.pendingHandlers);\n var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {\n return handler(Halogen_Query_InputF.Query.create($70));\n })(v.pendingQueries);\n var v2 = renderSpec.render(function ($71) {\n return handleAff(handler($71));\n })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {\n return function __do() {\n var v4 = Effect_Ref.read(childVar)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();\n return finalize(lchs)(v4)();\n };\n }))();\n Effect_Ref.modify_(function (v4) {\n return {\n rendering: new Data_Maybe.Just(v2),\n children: v3,\n component: v4.component,\n state: v4.state,\n refs: v4.refs,\n childrenIn: v4.childrenIn,\n childrenOut: v4.childrenOut,\n selfRef: v4.selfRef,\n handler: v4.handler,\n pendingQueries: v4.pendingQueries,\n pendingOuts: v4.pendingOuts,\n pendingHandlers: v4.pendingHandlers,\n prjQuery: v4.prjQuery,\n fresh: v4.fresh,\n subscriptions: v4.subscriptions,\n lifecycleHandlers: v4.lifecycleHandlers\n };\n })(v.selfRef)();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {\n return function __do() {\n var v5 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));\n })(v5)();\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n var $57 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v6);\n if ($57) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptions(st)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));\n })(st.component.finalizer))(function (f) {\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs);\n })();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();\n };\n });\n };\n var evalF = function (ref) {\n return Halogen_Aff_Driver_Eval[\"eval\"](render)(ref);\n };\n var evalDriver = function (ref) {\n return function (prjQuery) {\n return function (q) {\n var v = prjQuery(q);\n if (v instanceof Data_Maybe.Just) {\n return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));\n };\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error(\"Halogen internal error: query projection failed in runUI'\")));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): \" + [ v.constructor.name ]);\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(st.selfRef)(st.prjQuery),\n subscribe: subscribe(v1)(v2)\n });\n }))();\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var eqElemSpec = function (a, b) {\n if (a.value1 === b.value1) {\n if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {\n return true;\n };\n if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var buildWidget = (function () {\n var patch = function (build, v) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Widget) {\n var v2 = v.value1(v1.value0);\n return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);\n };\n v.value2();\n return build(v1);\n };\n };\n var render = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);\n };\n return render;\n })();\n var buildText = (function () {\n var patch = function (build, halt, node, s1) {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));\n };\n if (v instanceof Halogen_VDom_Types.Text) {\n var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);\n var $84 = s1 === v.value0;\n if ($84) {\n return res;\n };\n Halogen_VDom_Util.setTextContent(v.value0, node);\n return res;\n };\n halt();\n return build(v);\n };\n };\n var done = function (node) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n return Halogen_VDom_Util.removeChild(node, v);\n };\n };\n var render = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var halt = done(v1);\n return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);\n };\n return render;\n })();\n var buildKeyed = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Halogen_VDom_Util.forInE(steps, function (v1, v2) {\n return v2.value2();\n });\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1, len1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n if (len1 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);\n };\n var onThis = function (v4, v5) {\n return v5.value2();\n };\n var onThese = function (v4, ix$prime, v5, v6) {\n var v7 = v5.value1(v6.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);\n return v7;\n };\n var onThat = function (v4, ix, v5) {\n var v6 = build(v5.value1);\n Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);\n return v6;\n };\n var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (k, ix, v3) {\n var v4 = build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);\n };\n return render;\n })();\n var buildElem = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n var v3 = Data_Array.length(ch1);\n if (v3 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);\n };\n var onThis = function (ix, v4) {\n return v4.value2();\n };\n var onThese = function (ix, v4, vdom) {\n var v5 = v4.value1(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);\n return v5;\n };\n var onThat = function (ix, vdom) {\n var v4 = build(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (ix, child) {\n var v3 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);\n return v3;\n };\n var v3 = Halogen_VDom_Util.forE(ch1, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);\n };\n return render;\n })();\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n var patch = function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n var buildWidget = function (spec) {\n return function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file +{"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","dictSemigroup","Data_Eq","LT","GT","EQ","Data_Ordering","unsafeCompare","intSub","intAdd","intMul","Semiring","add","mul","one","zero","semiringInt","Data_Semiring","Ring","Semiring0","sub","ringInt","Data_Ord_Unsafe","Ord","Eq0","compare","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","semigroupFn","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","$23","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","$59","mapMaybe","kv","_loc","$58","class_","find","$57","fromMaybe","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","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","display_edit","$60","textarea","description","autocomplete","tags","toread","display_destroyed","modify_","$36","destroy","$41","selected","archiveUrl","editBookmark","assign","closeWindow","BNotifyRemove","BStar","BEdit","BMarkRead","_edit","mkState","star","dat","isowner","linkToFilterTag","fromNullableStr","userR","$65","display","monoidFn","toggleStar","$42","raise","markRead","Component_BMark","Halogen_HTML","HandleBMessage","_bookmark","st","bms","bmark","unsafeSetInnerHTML","innerHTML","Web_HTML_HTMLElement","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","getHTMLElementRef","for_","$12","$16","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Component_Markdown","Data_Void","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_markdown","_edit_note","note$prime","renderNote","isMarkdown","absurd","renderNote_edit","updated","$43","destroyNote","editNote","$56","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 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_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_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 ($23) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($23));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 170, column 15 - line 180, 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 ($21) {\n return Data_Maybe.Just.create(UEditField.create(f($21)));\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 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 })());\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) {\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_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_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var 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 _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 $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 227, column 17 - line 233, 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 194, column 3 - line 194, column 76): \" + [ 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 ($65) {\n return Data_Maybe.Just.create(BEditField.create(f($65)));\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 ($66) {\n return Data_Maybe.Just.create(BEditSubmit.create($66));\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_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.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[\"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) {// 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 Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var 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_Const = PS[\"Data.Const\"];\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 162, column 19 - line 165, 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 188, column 5 - line 196, column 22): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 157, column 3 - line 157, 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 83297a9bcbd38030d5c9cd21258b985fad620aa8..83a140f3e868083255505f23f4171cfb5a852e62 100644 GIT binary patch literal 236321 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
    ^4PjK>W>m(3_=a;*Z-OoDNNz^iP8w;?SljL><- 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 z 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ð$? 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