From 15d12d0494b2886a758ae7b734e59c34250bfe5f Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Sat, 23 May 2020 18:01:01 -0500 Subject: [PATCH] psc-0.13.6-20200507 --- purs/packages.dhall | 2 +- static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 77887 -> 77864 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 251294 -> 251201 bytes 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/purs/packages.dhall b/purs/packages.dhall index 0b9c18e..00bc1d6 100644 --- a/purs/packages.dhall +++ b/purs/packages.dhall @@ -1,5 +1,5 @@ let upstream = - https://raw.githubusercontent.com/purescript/package-sets/psc-0.13.6-20200404/src/packages.dhall sha256:f239f2e215d0cbd5c203307701748581938f74c4c78f4aeffa32c11c131ef7b6 + https://raw.githubusercontent.com/purescript/package-sets/psc-0.13.6-20200507/src/packages.dhall sha256:9c1e8951e721b79de1de551f31ecb5a339e82bbd43300eb5ccfb1bf8cf7bbd62 let overrides = {=} diff --git a/static/js/app.min.js b/static/js/app.min.js index 1b31c02..8e1ca36 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -27,6 +27,6 @@ function e(r){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterat var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t0)&&(w=T,y=Q._3(j)));break;case m:B=new b(v,new b(h,y,D),B,L),w=T,y=L&&L!==O&&0===P?Q._1.killed(n.fromLeft(L))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,P++;break;case g:P++,B=new b(v,new b(h,y,D),B,L),w=T,y=Q._1;break;case h:P--,w=k,y=Q._1,D=Q._2}break;case x:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(L&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=T;break;case _:return}}function j(n){return function(){if(w===x)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===x)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:L=n.left(e),w=x,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===P&&(w===_&&(B=new b(v,new b(g,y(e)),B,L)),w=k,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===P&&(w=k,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:j,isSuspended:function(){return w===F},run:function(){w===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function L(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case w:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new b(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=c,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(c)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return f},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,c);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Nullable"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Properties"],h=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(c.toMaybe(n))}),D=r.bindFlipped(v.bindEffect)(b.location)(h.window);t.class_=function(n){return g.class_(m.ClassName(n))},t.attr=function(n){return g.attr(n)},t._loc=D,t._curQuerystring=function(){var n=D();return function(n){var e,t,r=(e=l.replaceAll("+")(" "),function(n){return p.unsafeDecodeURIComponent(e(n))}),a="#"===(t=f.take(1)(n))||"?"===t?f.drop(1)(n):n;return u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))}(w.search(n)())},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.ifElseA=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,g=n["Halogen.Component"],h=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],D=n["Halogen.Query.HalogenM"],E=n.Util,A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),M=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return g.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([E.class_("settings-form")])([w.div([E.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),E.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(M.create))]),w.label([y.for("privateDefault"),E.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),E.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(D.bindHalogenM)(l.modifying(D.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],y=n["Data.String.Common"],D=n["Data.Tuple"],E=n["Data.Unit"],A=n["Effect.Aff"],M=n["Effect.Aff.Class"],C=n["Effect.Class"],F=n.Globals,T=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,L=n["Web.Event.Event"],R=n["Web.HTML"],N=n["Web.HTML.Location"],U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](E.unit);return T.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[S.br_,H.text(n)]}),y.split("\n");var e=F.mmoment8601(n.bm.time),t=function(n){return function(e){return g.Just.create(J.create(n(e)))}},r=function(t){return S.div([I.class_("alert")])([H.text("previously saved "),S.span([I.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(D.snd)(e))])([H.text(g.maybe(" ")(D.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),I.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(b.append(b.semigroupArray)([I.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([H.text("cancel / ")]),S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([I.class_("w-100")])([S.tbody_([S.tr_([S.td([I.class_("w1")])([]),S.td_([I.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([H.text("URL")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputUrl.value),k.id_("url"),I.class_("w-100 mv1"),k.required(!0),k.name("url"),k.autofocus(y.null(n.bm.url)),k.value(n.edit_bm.url),_.onValueChange(t(U.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("title"),I.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(B.create))]),S.button([k.disabled(n.loading),k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(P.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([H.text("tags")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("tags"),I.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),I.attr("autocapitalize")("off"),k.autofocus(!y.null(n.bm.url)),k.value(n.edit_bm.tags),_.onValueChange(t(O.create))])])]),S.tr_([S.td_([S.label([k.for("private")])([H.text("private")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("private"),I.class_("private pointer"),k.name("private"),k.checked(n.edit_bm.private),_.onChecked(t(W.create))])])]),S.tr_([S.td_([S.label([k.for("toread")])([H.text("read later")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),I.class_("toread pointer"),k.name("toread"),k.checked(n.edit_bm.toread),_.onChecked(t(q.create))])])]),S.tr_([S.td_([]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),k.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:T.mkEval({handleAction:function(n){if(n instanceof Q)return a.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return u.discard(u.discardUnit)(x.bindHalogenM)(a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(x.bindHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof g.Nothing)return r.pure(x.applicativeHalogenM)(E.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof z)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.destroy(n))))(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof U)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(L.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)((e=w.strongFn,p.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm,loading:n.loading}}})(e)))(n))(function(){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof g.Just?C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(N.setHref(r.value0)(n)):C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(F.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:T.defaultEval.handleQuery,receive:T.defaultEval.receive,initialize:T.defaultEval.initialize,finalize:T.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(c){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(c)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Nullable"],w=n["Data.Ord"],b=n["Data.Profunctor.Strong"],y=n["Data.Show"],D=n["Data.String.CodePoints"],E=n["Data.String.Common"],A=n["Data.Symbol"],M=n["Data.Unit"],C=n["Data.Void"],F=n.Effect,T=n["Effect.Aff"],H=n["Effect.Aff.Class"],S=n["Effect.Class"],_=n.Globals,k=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],R=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],B=n.Util,P=n["Web.Event.Event"],O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(){}return n.value=new n,n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(){}return n.value=new n,n}(),en=A.SProxy.value,tn=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit,loading:n.loading}}})(n)},rn=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm,loading:n.loading}}})(n)},un=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm,loading:n.loading}}})(n)};e.bmark=function(n){var e,v=function(n){return y.show(y.showInt)(n.bid)+"_tags"},an=_["app'"](M.unit);return k.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=D.take(16)(n.bm.time)+"Z",t=_.toLocaleDateString(n.bm.time),u=function(n){return B.fromNullableStr(an.userR)+"/t:"+n},a=function(n){return function(e){return m.Just.create($.create(n(e)))}};return L.div([N.id_(y.show(y.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([L.button([B.class_("moon-gray"),R.onClick(function(e){return new m.Just(new z(!n.bm.selected))})])([I.text("✭")])])}),B.ifElseH(n.edit)(function(e){return L.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([R.onSubmit(function(n){return m.Just.create(Z.create(n))})])([L.div_([I.text("url")]),L.input([N.type_(I.isPropInputType)(c.InputUrl.value),B.class_("url w-100 mb2 pt1 f7 edit_form_input"),N.required(!0),N.name("url"),N.value(n.edit_bm.url),R.onValueChange(a(O.create))]),L.div_([I.text("title")]),L.div([B.class_("flex")])([L.input([N.type_(I.isPropInputType)(c.InputText.value),B.class_("title w-100 mb2 pt1 f7 edit_form_input"),N.name("title"),N.value(n.edit_bm.title),R.onValueChange(a(W.create))]),L.button([N.disabled(n.loading),N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(K.value)}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([I.text("fetch")])]),L.div_([I.text("description")]),L.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),N.name("description"),N.rows(5),N.value(n.edit_bm.description),R.onValueChange(a(q.create))]),L.div([N.id_("tags_input_box")])([L.div_([I.text("tags")]),L.input([N.id_(v(n.edit_bm)),N.type_(I.isPropInputType)(c.InputText.value),B.class_("tags w-100 mb1 pt1 f7 edit_form_input"),N.name("tags"),N.autocomplete(!1),B.attr("autocapitalize")("off"),N.value(n.edit_bm.tags),R.onValueChange(a(J.create))])]),L.div([B.class_("edit_form_checkboxes mv3")])([L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("private pointer"),N.id_("edit_private"),N.name("private"),N.checked(n.edit_bm.private),R.onChecked(a(j.create))]),I.text(" "),L.label([N.for("edit_private"),B.class_("mr2")])([I.text("private")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("toread pointer"),N.id_("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),R.onChecked(a(Q.create))]),I.text(" "),L.label([N.for("edit_toread")])([I.text("to-read")])]),L.input([N.type_(I.isPropInputType)(c.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("cancel"),R.onClick(function(n){return new m.Just(new Y(!1))})])])])})(function(a){return L.div([B.class_("display")])([L.a([N.href(n.bm.url),N.target("_blank"),B.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([I.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([N.href(n.bm.url),B.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),L.a([N.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),N.target("_blank"),N.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),L.br_,L.div([B.class_("description mt1 mid-gray")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(en)(M.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([B.class_("tags")])(B.whenA(!E.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return L.a([B.class_("link tag mr1"+g.guard(g.monoidString)("."===D.take(1)(n))(" private")),N.href(u(n))])([I.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([B.class_("link f7 dib gray w4"),N.href((o=n.bm.slug,B.fromNullableStr(an.userR)+"/b:"+o)),N.title(e)])([I.text(t)]),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("edit_links di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new Y(!0))}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),L.div([B.class_("delete_link di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!0))}),B.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),L.span([B.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!1))})])([I.text("cancel / ")]),L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(X.value)}),B.class_("red")])([I.text("destroy")])])])])}),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([I.text("  "),L.button([R.onClick(function(n){return new m.Just(nn.value)}),B.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:k.mkEval({handleAction:function(n){if(n instanceof z)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.modifying(U.monadStateHalogenM)(un(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof G)return o.modify_(U.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof X)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof nn)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(U.monadStateHalogenM)(un(b.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof Y)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(tn(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(rn(b.strongFn))(n.value0))(function(){return S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(u.when(F.applicativeEffect)(n.value0)(_.setFocus(v(e))))})})});if(n instanceof $)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(){if(n.value0 instanceof O)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return a.discard(a.discardUnit)(U.bindHalogenM)(o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(U.bindHalogenM)(o.gets(U.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return u.pure(U.applicativeHalogenM)(M.unit);throw new Error("Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): "+[n.constructor.name])}())(function(){return o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof Z)return a.discard(a.discardUnit)(U.bindHalogenM)(S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(P.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(tn(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(un(b.strongFn))(n))(function(){return p.assign(U.monadStateHalogenM)(rn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Ord"],f=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),g=f.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new f.IsSymbol(function(){return"bookmark"}))(c.ordInt)(g)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,D=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),A=function(n){return y.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return h.div_(o.map(o.functorArray)(function(n){return h.div([w.id_(f.show(f.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([h.div([y.class_("display")])([h.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),h.br_,h.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(c.monoidArray)(function(n){return[h.br_,g.text(n)]})(s.split("\n")(e))))),h.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(D(n))),w.href(A(n.slug))])([g.text(i.maybe(" ")(d.fst)(D(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Either"],d=n["Data.Foldable"],v=n["Data.Function"],p=n["Data.Functor"],m=n["Data.Lens.Getter"],g=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],w=n["Data.Lens.Setter"],b=n["Data.Maybe"],y=n["Data.Monoid"],D=n["Data.Ord"],E=n["Data.Profunctor.Strong"],A=n["Data.Show"],M=n["Data.String.Common"],C=n["Data.Symbol"],F=n["Data.Tuple"],T=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,L=n["Halogen.Component"],R=n["Halogen.HTML"],N=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],B=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return h.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},en=C.SProxy.value,tn=function(n){return h.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},rn=function(n){return h.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,h=function(n){return A.show(A.showInt)(n.id)+"_text"},un=I["app'"](T.unit);return L.mkComponent({initialState:v.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return U.p([W.class_("red")])([N.text("you killed this note")])})(v.const(W.ifElseH(n.edit)(function(e){return U.form([B.onSubmit(function(n){return b.Just.create(X.create(n))})])([U.p([W.class_("mt2 mb1")])([N.text("title:")]),U.input([P.type_(N.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),B.onValueChange(t(j.create)),P.autofocus(M.null(n.edit_note.title))]),U.br_,U.p([W.class_("mt2 mb1")])([N.text("description:")]),U.textarea([P.id_(h(n.edit_note)),W.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),B.onValueChange(t(Q.create))]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),B.onChecked(t(V.create))]),N.text(" "),U.label([P.for("edit_ismarkdown"),W.class_("mr2")])([N.text("use markdown?")]),U.br_]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),B.onChecked(t(z.create))]),N.text(" "),U.label([P.for("edit_shared"),W.class_("mr2")])([N.text("public?")]),U.br_]),U.input([P.type_(N.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),N.text(" "),U.input([P.type_(N.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),B.onClick(function(n){return new b.Just(new Y(!1))})])])})(function(t){return U.div([P.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([U.div([W.class_("display")])([U.div([W.class_("link f5 lh-title")])([N.text(M.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([W.class_("description mt1")])([R.slot()(new C.IsSymbol(function(){return"markdown"}))(D.ordUnit)(en)(T.unit)(r.component)(n.note.text)(H.absurd)]):U.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(d.foldMap(d.foldableArray)(y.monoidArray)(function(n){return[U.br_,N.text(n)]})(M.split("\n")(u))))),U.div([W.class_("link f7 dib gray w4")])([U.span([P.title(b.maybe(n.note.created)(F.snd)(e(n.note)))])([N.text(b.maybe(" ")(F.fst)(e(n.note)))]),N.text(" - "),U.span([W.class_("gray")])([N.text(n.note.shared?"public":"private")])])]),W.whenH(un.dat.isowner)(function(e){return U.div([W.class_("edit_links db mt3")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([N.text("edit  ")]),U.div([W.class_("delete_link di")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+y.guard(y.monoidString)(n.deleteAsk)(" dn"))])([N.text("delete")]),U.span([W.class_("confirm red"+y.guard(y.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!1))})])([N.text("cancel / ")]),U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(Z.value)}),W.class_("red")])([N.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(T.unit);if(n instanceof K)return w.modifying(O.monadStateHalogenM)(tn(E.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof z)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return i.modify_(O.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(p.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(O.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof Y)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(tn(E.strongFn))(e))(function(){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(rn(E.strongFn))(n.value0))(function(){return x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(h(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(tn(g.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){return d.for_(O.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(un.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(nn(E.strongFn))(n))(function(){return w.assign(O.monadStateHalogenM)(rn(E.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Semigroup"],w=n["Data.Show"],b=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unfoldable"],E=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],T=n["Halogen.HTML.Core"],H=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],x=n.Math,I=n.Model,L=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.tagcloudcomponent=function(n){var e,B=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return(r-t<.01?1:n(e-t)/n(r-t))*(a-u)+u}}}}}},P=function(n){return n instanceof I.TagCloudModeNone?r.pure(k.applicativeHalogenM)(E.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(I.tagCloudModeFromF(n))))(function(e){return o.modify_(k.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(M.empty)(e),r})})},O=C["app'"](E.unit),W=function(n){return L.fromNullableStr(O.userR)+(b.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=B(function(n){return x.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),s=B(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),d=_.attr("style")("font-size:"+w.show(w.showNumber)(s)+"%;opacity:"+w.show(w.showNumber)(o));return[H.a([_.href(W(r)),L.class_("link tag mr1"),d])([T.text(r)]),L.whenH(!c.null(n))(function(e){return l.notElem(l.foldableArray)(f.eqString)(i)(n)?H.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([T.text("⊕")]):H.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([T.text("⊖")])})]}}}}}(d.map(d.functorArray)(b.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return b.toLower(y.fst(n))})),o=M.toUnfoldable(D.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof I.TagCloudModeNone)return H.div([L.class_("tag_cloud")])([]);var e=new I.TagCloudModeTop(I.isExpanded(n.mode),200),t=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),5),r=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),20),u=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),2),a=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),10),o=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),1);return H.div([L.class_("tag_cloud mv3")])([H.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(I.isRelated(n.mode))(function(e){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text("Related Tags")])]})(function(c){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new p.Just(new U(e))})])([T.text("Top Tags")]),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new p.Just(new U(o))})])([T.text("all")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new p.Just(new U(u))})])([T.text("2")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new p.Just(new U(t))})])([T.text("5")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new p.Just(new U(a))})])([T.text("10")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new p.Just(new U(r))})])([T.text("20")])]}))([H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text(I.isExpanded(n.mode)?"hide":"show")])])),L.whenH(I.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud)));return H.div([L.class_("tag_cloud_body")])(n.mode instanceof I.TagCloudModeNone?[]:n.mode instanceof I.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return P(n)});if(e instanceof N)return u.discard(u.discardUnit)(k.bindHalogenM)(o.modify_(k.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=I.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(I.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(I.eqTagCloudModeF)(t)(e.value0)?n(new N(!I.isExpanded(t))):P(I.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],c=n["Data.List.Types"],f=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),p=function(n){return function(e){return new v(n,e)}},m=d.create,g=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var f,p=n,m=e,g=r,h=u,w=a,b=!1;function y(n,e,r,u,a,f){if(a instanceof s)return b=!0,new l.Tuple(new c.Cons({func:t.pure(n)(a.value0),count:f},e),r);if(a instanceof d)return b=!0,new l.Tuple(new c.Cons({func:u(a.value0),count:f},e),r);if(a instanceof v)return p=n,m=e,g=i.cons(a.value1)(r),h=u,w=a.value0,void(o=f+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)f=y(p,m,g,h,w,o);return f}}}}}},h=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof c.Nil)return v=!0,new a.Left(o);if(e instanceof c.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof c.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof c.Nil)return v=!0,new a.Left(p);if(t instanceof c.Cons)return v=!0,a.Right.create(new l.Tuple(new c.Cons({func:p,count:e.value0.count-1|0},e.value1),new f.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=h(n)(u.value0)(u.value1.value1)(t.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): "+[i.constructor.name])}if(u.value1.value0 instanceof d){var i;if((i=h(n)(u.value0)(u.value1.value1)(e(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): "+[i.constructor.name])}if(!(u.value1.value0 instanceof v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var c=new f.NonEmpty(u.value1.value0.value1,u.value1.value1);r=g(n)(u.value0)(c)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(c.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),D=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(D)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],c=n["Data.Bifunctor"],f=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],v=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),g=p.create,h=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(c.bimap(f.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return h(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return E(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return D(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return h(n.value0)(function(t){return h(function(e){return n.value1(t)})(e)})})(n.value0):h(function(e){return n})(e)}})}},D=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},E=function(n){return function(e){return new t.Applicative(function(){return D(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new f.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof f.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new f.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): "+[r.constructor.name])})}};e.freeT=g,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new f.Right(s.map(n)(t.pure(E(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof f.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=E,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(f.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(E(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],c=n["Control.Monad.Rec.Class"],f=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],g=n["Data.Newtype"],h=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),E=function(n){return function(e){return function(r){return function(a){return function(c){return function(f){return function(l){return i.freeT(function(s){return function f(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return f(n)})})(c(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(f,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(c){return function(f){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(c)(r.apply(c.Applicative1().Apply0())(v.map(c.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(f(w.Tuple.create)))(l.parallel(c)(i.resume(n)(o)(p.value0))))(l.parallel(c)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},M=new v.Functor(h.rmap(D)),C=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(C));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=g.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return c.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new c.Loop(b.unit))(c.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(f.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(M)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(M)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return E(M)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=M}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=a,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,c,f,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,c=e.value,f=d.size,null!==e.error){for(c=n.left(e.error);t=o(l);)u(t.cb(c));for(;a=o(d);)u(a(c));for(;i=o(s);)u(i(c));break}if(c===r&&(t=o(l))&&(e.value=c=t.value),c!==r){for(i=o(s);f--&&(a=o(d));)u(a(n.right(c)));null!==i&&(e.value=r,u(i(n.right(c))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(){}return n.value=new n,n}(),c={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(c,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(c,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(c,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:w,forks:b,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Free"],f=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],g=n["Data.Foldable"],h=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],D=n["Data.Maybe"],E=n["Data.Ord"],A=n["Data.Unit"],M=n.Effect,C=n["Effect.Aff"],F=n["Effect.Class"],T=n["Effect.Exception"],H=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],L=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],N=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(t){if(t instanceof D.Nothing)return e;if(t instanceof D.Just)return F.liftEffect(C.monadEffectAff)(H.write(new D.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},U=function(n){return function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(e))(function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(C.bindAff)(s.parSequence_(C.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(C.applicativeAff)(e)})})})})})}},B=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(e){return F.liftEffect(C.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},P=function(n){return function(e){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(D.Just.create)(p.liftCoyoneda(t)),h.const(D.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var h;return c.foldFree(C.monadRecAff)((h=s,function(c){if(c instanceof x.State)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(C.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(h)))(function(){return u.discard(u.discardUnit)(C.bindAff)(U(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(C.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(c instanceof x.Subscribe)return u.bind(C.bindAff)(B(x.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(o){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(u.bind(C.bindAff)(r)(function(r){var c=u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(D.maybe(!1)(y.member(x.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(a.await(C.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(C.monadAff))(m.eq(D.eqMaybe(m.eqBoolean))(w.map(D.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new D.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new L.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.insert(x.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(C.bindAff)(a.runProcess(C.monadRecAff)(a.pullFrom(C.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(C.applicativeAff)(c.value1(n))})})});if(c instanceof x.Unsubscribe)return u.discard(u.discardUnit)(C.bindAff)((s=c.value0,function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(C.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(D.bindMaybe)(y.lookup(x.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(C.applicativeAff)(c.value1)});var s,p,b;if(c instanceof x.Lift)return c.value0;if(c instanceof x.ChildQuery)return function(n){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(C.functorAff)(t.value2)(d.sequential(C.parallelAff)(t.value0(C.applicativeParAff)(function(n){return d.parallel(C.parallelAff)(u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return P(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof x.Raise)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(N(n.pendingOuts)(e(c.value0)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.Par)return d.sequential(C.parallelAff)(r.retractFreeAp(C.applicativeParAff)(r.hoistFreeAp((p=d.parallel(C.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof x.Fork)return u.bind(C.bindAff)(B(x.ForkId)(h))(function(r){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(a){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.new(!1)))(function(f){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(C.finally(F.liftEffect(C.monadEffectAff)(function(){return H.modify_(y.delete(x.ordForkId)(r))(a.forks)(),H.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(o.unlessM(M.monadEffect)(H.read(f))(H.modify_(y.insert(x.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(C.applicativeAff)(c.value1(r))})})})})});if(c instanceof x.Kill)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.forks)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(g.foldableMaybe)(C.killFiber(T.error("Cancelled")))(y.lookup(x.ordForkId)(c.value0)(n)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.GetRef)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return t.pure(C.applicativeAff)(c.value1(y.lookup(E.ordString)(c.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[c.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof L.RefUpdate)return F.liftEffect(C.monadEffectAff)(h.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(E.ordString)(h.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof L.Action)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=P,e.evalM=O,e.handleLifecycle=U,e.queueOrRun=N}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Rec.Class"],f=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],g=n["Data.Map.Internal"],h=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,D=n["Effect.Aff"],E=n["Effect.Aff.AVar"],A=n["Effect.Class"],M=n["Effect.Console"],C=n["Effect.Exception"],F=n["Effect.Ref"],T=n["Halogen.Aff.Driver.Eval"],H=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],L=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=D.runAff_(l.either(C.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),N=function(n){return function(){var e,t=F.read(n)();return F.write(h.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(U){var B=function(n){return function(e){return function(t){return r.bind(D.bindAff)(E.empty)(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(function(){var t=F.read(n)();return F.modify_(function(n){return n+1|0})(n)(),F.modify_(g.insert(w.ordInt)(t)(u))(e)(),t}))(function(n){var c=a.producer(D.monadAff)(v.map(D.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(D.monadErrorAff)(E.take(u))));return v.void(D.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(D.bindAff)(a.runProcess(D.monadRecAff)(a.connect(D.monadRecAff)(D.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return E.kill(C.error("ended"))(u)})})))})})}}},P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=L(),i=H.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(H.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return H.unDriverStateX(function(t){var u=T.evalM(W)(t.selfRef)(t.component.eval(new x.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(D.bindAff)(f.parSequence_(D.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(D.bindAff)(u)(function(){return A.liftEffect(D.monadEffectAff)(function(){return N(t.pendingQueries)(),N(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(c.initializers))(F.read(i))(),i}})}}},O=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var c=v.map(y.functorEffect)(i.pop)(F.read(a))(),f=function(){if(c instanceof h.Just){F.write(c.value0.value1)(a)();var n=F.read(c.value0.value0)();return H.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return i.input instanceof x.Receive?P(e)((r=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): "+[c.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return h.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(f))(o)(),r.bind(y.bindEffect)(F.read(f))(H.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof h.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): "+[e.constructor.name])}))()}})}}}},W=function e(r){return function(a){return function(){var o=F.read(a)(),f=v.map(y.functorEffect)(h.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(f)(F.write(new h.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,g,w,E,A=u.identity(u.categoryFn)(o.selfRef),M=u.identity(u.categoryFn)(o.pendingQueries),C=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=T.queueOrRun(C),g=v.void(D.functorAff),w=T.evalF(e)(A),function(n){return l(g(w(n)))}),k=(E=T.queueOrRun(M),function(n){return E(S(I.Action.create(n)))}),x=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),L=F.read(o.childrenOut)(),N=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(N)(function(e){return function(){var t=F.read(e)();return H.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(H.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:L,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new h.Just(x),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(f)(d.flip(c.tailRecM(c.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(C)();F.write(new h.Just(m.Nil.value))(C)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(C)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(C))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return H.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(D.applicativeAff)(g.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(h.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((t=D.killFiber(C.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=T.evalM(W)(t.selfRef)(t.component.eval(new x.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},J=function(n){return function(e){return function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(D.applicativeAff)(h.Nothing.value):T.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return T.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((o=E.kill(C.error("disposed")),function(n){return D.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),H.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(L))(function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(0)))(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(!1)))(function(a){return T.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(P(n)((o=c,function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(D.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(E.put(n))(e))})}))(U)(e))();return H.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:B(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&u.refEq(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],D=n["Halogen.VDom.Machine"],E=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],M=n["Web.DOM.Node"],C=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],T=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=M.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return M.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?D.halt(n.value0):l.unit};return{buildWidget:function(n){var t=E.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return D.mkStep(new D.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return D.mkStep(new D.Step(D.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return D.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=D.step(e.value0,t.value0);return D.mkStep(new D.Step(D.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=D.extract(d);return o.void(s.functorEffect)(M.appendChild(v)(T.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=M.parentNode(d.value0.node)(),e=M.nextSibling(d.value0.node)(),r=D.step(d.value0.machine,a),f=D.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(M.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(M.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(C.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],w=n["Halogen.VDom.Driver"],b=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],A=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),M=t._mainImpl;e.main=M,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(o.blist(e))(v.unit)(n)))(function(){return A})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(w.runUI(f.tagcloudcomponent(b.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(a.addbmark(e))(v.unit)(n)))(function(){return A})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(i.nlist(e))(v.unit)(n)))(function(){return A})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(c.nnote(e))(v.unit)(n)))(function(){return A})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(u.usetting(e))(v.unit)(n)))(function(){return A})})))}},e.viewRendered=A,e._mainImpl=t._mainImpl}(t),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n,e){if(null===e.nodejsBaseUrl){var t=module.require("url"),r=t.parse(n);return r.protocol=r.protocol||"http:",r.hostname=r.hostname||"localhost",t.format(r)}return n||"/"},r.getResponse=function(n){return n.response}),function(n,e){return function(t,u){var a=r.newXHR(),o=r.fixupUrl(e.url,a);if(a.open(e.method||"GET",o,!0,e.username,e.password),e.headers)try{for(var i,c=0;null!=(i=e.headers[c]);c++)a.setRequestHeader(i.field,i.value)}catch(l){t(l)}var f=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return a.onerror=f("AJAX request failed"),a.ontimeout=f("AJAX request timed out"),a.onload=function(){u({status:a.status,statusText:a.statusText,headers:a.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t0)&&(w=T,y=Q._3(j)));break;case m:B=new b(v,new b(h,y,D),B,L),w=T,y=L&&L!==O&&0===P?Q._1.killed(n.fromLeft(L))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,P++;break;case g:P++,B=new b(v,new b(h,y,D),B,L),w=T,y=Q._1;break;case h:P--,w=k,y=Q._1,D=Q._2}break;case x:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(L&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=T;break;case _:return}}function j(n){return function(){if(w===x)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===x)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:L=n.left(e),w=x,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===P&&(w===_&&(B=new b(v,new b(g,y(e)),B,L)),w=k,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===P&&(w=k,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:j,isSuspended:function(){return w===F},run:function(){w===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function L(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case w:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new b(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=c,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(c)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return f},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,c);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Nullable"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Properties"],h=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(c.toMaybe(n))}),D=r.bindFlipped(v.bindEffect)(b.location)(h.window);t.class_=function(n){return g.class_(m.ClassName(n))},t.attr=function(n){return g.attr(n)},t._loc=D,t._curQuerystring=function(){var n=D();return function(n){var e,t,r=(e=l.replaceAll("+")(" "),function(n){return p.unsafeDecodeURIComponent(e(n))}),a="#"===(t=f.take(1)(n))||"?"===t?f.drop(1)(n):n;return u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))}(w.search(n)())},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.ifElseA=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,g=n["Halogen.Component"],h=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],D=n["Halogen.Query.HalogenM"],E=n.Util,A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),M=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return g.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([E.class_("settings-form")])([w.div([E.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),E.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(M.create))]),w.label([y.for("privateDefault"),E.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),E.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(D.bindHalogenM)(l.modifying(D.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],y=n["Data.String.Common"],D=n["Data.Tuple"],E=n["Data.Unit"],A=n["Effect.Aff"],M=n["Effect.Aff.Class"],C=n["Effect.Class"],F=n.Globals,T=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,L=n["Web.Event.Event"],R=n["Web.HTML"],N=n["Web.HTML.Location"],U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(n){return p.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;F["app'"](E.unit);return T.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[S.br_,H.text(n)]}),y.split("\n");var e=F.mmoment8601(n.bm.time),t=function(n){return function(e){return g.Just.create(J.create(n(e)))}},r=function(t){return S.div([I.class_("alert")])([H.text("previously saved "),S.span([I.class_("link f7 dib gray pr3"),k.title(g.maybe(n.bm.time)(D.snd)(e))])([H.text(g.maybe(" ")(D.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),I.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(b.append(b.semigroupArray)([I.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([H.text("cancel / ")]),S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([S.table([I.class_("w-100")])([S.tbody_([S.tr_([S.td([I.class_("w1")])([]),S.td_([I.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([k.for("url")])([H.text("URL")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputUrl.value),k.id_("url"),I.class_("w-100 mv1"),k.required(!0),k.name("url"),k.autofocus(y.null(n.bm.url)),k.value(n.edit_bm.url),_.onValueChange(t(U.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("title"),I.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(B.create))]),S.button([k.disabled(n.loading),k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(P.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([H.text("tags")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("tags"),I.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),I.attr("autocapitalize")("off"),k.autofocus(!y.null(n.bm.url)),k.value(n.edit_bm.tags),_.onValueChange(t(O.create))])])]),S.tr_([S.td_([S.label([k.for("private")])([H.text("private")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("private"),I.class_("private pointer"),k.name("private"),k.checked(n.edit_bm.private),_.onChecked(t(W.create))])])]),S.tr_([S.td_([S.label([k.for("toread")])([H.text("read later")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),I.class_("toread pointer"),k.name("toread"),k.checked(n.edit_bm.toread),_.onChecked(t(q.create))])])]),S.tr_([S.td_([]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),k.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:T.mkEval({handleAction:function(n){if(n instanceof Q)return a.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return u.discard(u.discardUnit)(x.bindHalogenM)(a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(x.bindHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof g.Nothing)return r.pure(x.applicativeHalogenM)(E.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof z)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.destroy(n))))(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof J)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof U)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(L.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)((e=w.strongFn,p.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm,loading:n.loading}}})(e)))(n))(function(){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof g.Just?C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(N.setHref(r.value0)(n)):C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(F.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:T.defaultEval.handleQuery,receive:T.defaultEval.receive,initialize:T.defaultEval.initialize,finalize:T.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(c){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(c)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Nullable"],w=n["Data.Ord"],b=n["Data.Profunctor.Strong"],y=n["Data.Show"],D=n["Data.String.CodePoints"],E=n["Data.String.Common"],A=n["Data.Symbol"],M=n["Data.Unit"],C=n["Data.Void"],F=n.Effect,T=n["Effect.Aff"],H=n["Effect.Aff.Class"],S=n["Effect.Class"],_=n.Globals,k=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],R=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],B=n.Util,P=n["Web.Event.Event"],O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(){}return n.value=new n,n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(){}return n.value=new n,n}(),en=A.SProxy.value,tn=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit,loading:n.loading}}})(n)},rn=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm,loading:n.loading}}})(n)},un=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm,loading:n.loading}}})(n)};e.bmark=function(n){var e,v=function(n){return y.show(y.showInt)(n.bid)+"_tags"},an=_["app'"](M.unit);return k.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=D.take(16)(n.bm.time)+"Z",t=_.toLocaleDateString(n.bm.time),u=function(n){return B.fromNullableStr(an.userR)+"/t:"+n},a=function(n){return function(e){return m.Just.create($.create(n(e)))}};return L.div([N.id_(y.show(y.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([L.button([B.class_("moon-gray"),R.onClick(function(e){return new m.Just(new z(!n.bm.selected))})])([I.text("✭")])])}),B.ifElseH(n.edit)(function(e){return L.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([R.onSubmit(function(n){return m.Just.create(Z.create(n))})])([L.div_([I.text("url")]),L.input([N.type_(I.isPropInputType)(c.InputUrl.value),B.class_("url w-100 mb2 pt1 f7 edit_form_input"),N.required(!0),N.name("url"),N.value(n.edit_bm.url),R.onValueChange(a(O.create))]),L.div_([I.text("title")]),L.div([B.class_("flex")])([L.input([N.type_(I.isPropInputType)(c.InputText.value),B.class_("title w-100 mb2 pt1 f7 edit_form_input"),N.name("title"),N.value(n.edit_bm.title),R.onValueChange(a(W.create))]),L.button([N.disabled(n.loading),N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(K.value)}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([I.text("fetch")])]),L.div_([I.text("description")]),L.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),N.name("description"),N.rows(5),N.value(n.edit_bm.description),R.onValueChange(a(q.create))]),L.div([N.id_("tags_input_box")])([L.div_([I.text("tags")]),L.input([N.id_(v(n.edit_bm)),N.type_(I.isPropInputType)(c.InputText.value),B.class_("tags w-100 mb1 pt1 f7 edit_form_input"),N.name("tags"),N.autocomplete(!1),B.attr("autocapitalize")("off"),N.value(n.edit_bm.tags),R.onValueChange(a(J.create))])]),L.div([B.class_("edit_form_checkboxes mv3")])([L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("private pointer"),N.id_("edit_private"),N.name("private"),N.checked(n.edit_bm.private),R.onChecked(a(j.create))]),I.text(" "),L.label([N.for("edit_private"),B.class_("mr2")])([I.text("private")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("toread pointer"),N.id_("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),R.onChecked(a(Q.create))]),I.text(" "),L.label([N.for("edit_toread")])([I.text("to-read")])]),L.input([N.type_(I.isPropInputType)(c.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("cancel"),R.onClick(function(n){return new m.Just(new Y(!1))})])])])})(function(a){return L.div([B.class_("display")])([L.a([N.href(n.bm.url),N.target("_blank"),B.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([I.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([N.href(n.bm.url),B.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),L.a([N.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),N.target("_blank"),N.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),L.br_,L.div([B.class_("description mt1 mid-gray")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(en)(M.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([B.class_("tags")])(B.whenA(!E.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return L.a([B.class_("link tag mr1"+g.guard(g.monoidString)("."===D.take(1)(n))(" private")),N.href(u(n))])([I.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([B.class_("link f7 dib gray w4"),N.href((o=n.bm.slug,B.fromNullableStr(an.userR)+"/b:"+o)),N.title(e)])([I.text(t)]),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("edit_links di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new Y(!0))}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),L.div([B.class_("delete_link di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!0))}),B.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),L.span([B.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!1))})])([I.text("cancel / ")]),L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(X.value)}),B.class_("red")])([I.text("destroy")])])])])}),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([I.text("  "),L.button([R.onClick(function(n){return new m.Just(nn.value)}),B.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:k.mkEval({handleAction:function(n){if(n instanceof z)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.modifying(U.monadStateHalogenM)(un(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof G)return o.modify_(U.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof X)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof nn)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(U.monadStateHalogenM)(un(b.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof Y)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(tn(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(rn(b.strongFn))(n.value0))(function(){return S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(u.when(F.applicativeEffect)(n.value0)(_.setFocus(v(e))))})})});if(n instanceof $)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(){if(n.value0 instanceof O)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return a.discard(a.discardUnit)(U.bindHalogenM)(o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(U.bindHalogenM)(o.gets(U.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return u.pure(U.applicativeHalogenM)(M.unit);throw new Error("Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): "+[n.constructor.name])}())(function(){return o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof Z)return a.discard(a.discardUnit)(U.bindHalogenM)(S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(P.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(tn(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.editBookmark(n))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(un(b.strongFn))(n))(function(){return p.assign(U.monadStateHalogenM)(rn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Ord"],f=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),g=f.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new f.IsSymbol(function(){return"bookmark"}))(c.ordInt)(g)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,D=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),A=function(n){return y.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return h.div_(o.map(o.functorArray)(function(n){return h.div([w.id_(f.show(f.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([h.div([y.class_("display")])([h.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),h.br_,h.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(c.monoidArray)(function(n){return[h.br_,g.text(n)]})(s.split("\n")(e))))),h.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(D(n))),w.href(A(n.slug))])([g.text(i.maybe(" ")(d.fst)(D(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Either"],d=n["Data.Foldable"],v=n["Data.Function"],p=n["Data.Functor"],m=n["Data.Lens.Getter"],g=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],w=n["Data.Lens.Setter"],b=n["Data.Maybe"],y=n["Data.Monoid"],D=n["Data.Ord"],E=n["Data.Profunctor.Strong"],A=n["Data.Show"],M=n["Data.String.Common"],C=n["Data.Symbol"],F=n["Data.Tuple"],T=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,L=n["Halogen.Component"],R=n["Halogen.HTML"],N=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],B=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return h.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},en=C.SProxy.value,tn=function(n){return h.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},rn=function(n){return h.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,h=function(n){return A.show(A.showInt)(n.id)+"_text"},un=I["app'"](T.unit);return L.mkComponent({initialState:v.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return U.p([W.class_("red")])([N.text("you killed this note")])})(v.const(W.ifElseH(n.edit)(function(e){return U.form([B.onSubmit(function(n){return b.Just.create(X.create(n))})])([U.p([W.class_("mt2 mb1")])([N.text("title:")]),U.input([P.type_(N.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_note.title),B.onValueChange(t(j.create)),P.autofocus(M.null(n.edit_note.title))]),U.br_,U.p([W.class_("mt2 mb1")])([N.text("description:")]),U.textarea([P.id_(h(n.edit_note)),W.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("text"),P.rows(30),P.value(n.edit_note.text),B.onValueChange(t(Q.create))]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),B.onChecked(t(V.create))]),N.text(" "),U.label([P.for("edit_ismarkdown"),W.class_("mr2")])([N.text("use markdown?")]),U.br_]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),B.onChecked(t(z.create))]),N.text(" "),U.label([P.for("edit_shared"),W.class_("mr2")])([N.text("public?")]),U.br_]),U.input([P.type_(N.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),N.text(" "),U.input([P.type_(N.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),B.onClick(function(n){return new b.Just(new Y(!1))})])])})(function(t){return U.div([P.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([U.div([W.class_("display")])([U.div([W.class_("link f5 lh-title")])([N.text(M.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([W.class_("description mt1")])([R.slot()(new C.IsSymbol(function(){return"markdown"}))(D.ordUnit)(en)(T.unit)(r.component)(n.note.text)(H.absurd)]):U.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(d.foldMap(d.foldableArray)(y.monoidArray)(function(n){return[U.br_,N.text(n)]})(M.split("\n")(u))))),U.div([W.class_("link f7 dib gray w4")])([U.span([P.title(b.maybe(n.note.created)(F.snd)(e(n.note)))])([N.text(b.maybe(" ")(F.fst)(e(n.note)))]),N.text(" - "),U.span([W.class_("gray")])([N.text(n.note.shared?"public":"private")])])]),W.whenH(un.dat.isowner)(function(e){return U.div([W.class_("edit_links db mt3")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([N.text("edit  ")]),U.div([W.class_("delete_link di")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+y.guard(y.monoidString)(n.deleteAsk)(" dn"))])([N.text("delete")]),U.span([W.class_("confirm red"+y.guard(y.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!1))})])([N.text("cancel / ")]),U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(Z.value)}),W.class_("red")])([N.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(T.unit);if(n instanceof K)return w.modifying(O.monadStateHalogenM)(tn(E.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof z)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return i.modify_(O.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(p.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(O.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof Y)return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(tn(E.strongFn))(e))(function(){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(rn(E.strongFn))(n.value0))(function(){return x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(h(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(tn(g.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){return d.for_(O.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(un.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(nn(E.strongFn))(n))(function(){return w.assign(O.monadStateHalogenM)(rn(E.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Semigroup"],w=n["Data.Show"],b=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unfoldable"],E=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],T=n["Halogen.HTML.Core"],H=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],x=n.Math,I=n.Model,L=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.tagcloudcomponent=function(n){var e,B=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return(r-t<.01?1:n(e-t)/n(r-t))*(a-u)+u}}}}}},P=function(n){return n instanceof I.TagCloudModeNone?r.pure(k.applicativeHalogenM)(E.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(I.tagCloudModeFromF(n))))(function(e){return o.modify_(k.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(M.empty)(e),r})})},O=C["app'"](E.unit),W=function(n){return L.fromNullableStr(O.userR)+(b.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=B(function(n){return x.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),s=B(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),d=_.attr("style")("font-size:"+w.show(w.showNumber)(s)+"%;opacity:"+w.show(w.showNumber)(o));return[H.a([_.href(W(r)),L.class_("link tag mr1"),d])([T.text(r)]),L.whenH(!c.null(n))(function(e){return l.notElem(l.foldableArray)(f.eqString)(i)(n)?H.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([T.text("⊕")]):H.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([T.text("⊖")])})]}}}}}(d.map(d.functorArray)(b.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return b.toLower(y.fst(n))})),o=M.toUnfoldable(D.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof I.TagCloudModeNone)return H.div([L.class_("tag_cloud")])([]);var e=new I.TagCloudModeTop(I.isExpanded(n.mode),200),t=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),5),r=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),20),u=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),2),a=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),10),o=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),1);return H.div([L.class_("tag_cloud mv3")])([H.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(I.isRelated(n.mode))(function(e){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text("Related Tags")])]})(function(c){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new p.Just(new U(e))})])([T.text("Top Tags")]),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new p.Just(new U(o))})])([T.text("all")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new p.Just(new U(u))})])([T.text("2")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new p.Just(new U(t))})])([T.text("5")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new p.Just(new U(a))})])([T.text("10")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new p.Just(new U(r))})])([T.text("20")])]}))([H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text(I.isExpanded(n.mode)?"hide":"show")])])),L.whenH(I.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud)));return H.div([L.class_("tag_cloud_body")])(n.mode instanceof I.TagCloudModeNone?[]:n.mode instanceof I.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return P(n)});if(e instanceof N)return u.discard(u.discardUnit)(k.bindHalogenM)(o.modify_(k.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=I.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(I.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(I.eqTagCloudModeF)(t)(e.value0)?n(new N(!I.isExpanded(t))):P(I.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],c=n["Data.List.Types"],f=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),p=function(n){return function(e){return new v(n,e)}},m=d.create,g=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var f,p=n,m=e,g=r,h=u,w=a,b=!1;function y(n,e,r,u,a,f){if(a instanceof s)return b=!0,new l.Tuple(new c.Cons({func:t.pure(n)(a.value0),count:f},e),r);if(a instanceof d)return b=!0,new l.Tuple(new c.Cons({func:u(a.value0),count:f},e),r);if(a instanceof v)return p=n,m=e,g=i.cons(a.value1)(r),h=u,w=a.value0,void(o=f+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)f=y(p,m,g,h,w,o);return f}}}}}},h=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof c.Nil)return v=!0,new a.Left(o);if(e instanceof c.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof c.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof c.Nil)return v=!0,new a.Left(p);if(t instanceof c.Cons)return v=!0,a.Right.create(new l.Tuple(new c.Cons({func:p,count:e.value0.count-1|0},e.value1),new f.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=h(n)(u.value0)(u.value1.value1)(t.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): "+[i.constructor.name])}if(u.value1.value0 instanceof d){var i;if((i=h(n)(u.value0)(u.value1.value1)(e(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): "+[i.constructor.name])}if(!(u.value1.value0 instanceof v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var c=new f.NonEmpty(u.value1.value0.value1,u.value1.value1);r=g(n)(u.value0)(c)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(c.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),D=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(D)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],c=n["Data.Bifunctor"],f=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],v=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),g=p.create,h=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(c.bimap(f.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return h(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return E(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return D(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return h(n.value0)(function(t){return h(function(e){return n.value1(t)})(e)})})(n.value0):h(function(e){return n})(e)}})}},D=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},E=function(n){return function(e){return new t.Applicative(function(){return D(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new f.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof f.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new f.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): "+[r.constructor.name])})}};e.freeT=g,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new f.Right(s.map(n)(t.pure(E(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof f.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=E,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(f.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(E(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],c=n["Control.Monad.Rec.Class"],f=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],g=n["Data.Newtype"],h=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),E=function(n){return function(e){return function(r){return function(a){return function(c){return function(f){return function(l){return i.freeT(function(s){return function f(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return f(n)})})(c(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(f,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(c){return function(f){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(c)(r.apply(c.Applicative1().Apply0())(v.map(c.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(f(w.Tuple.create)))(l.parallel(c)(i.resume(n)(o)(p.value0))))(l.parallel(c)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},M=new v.Functor(h.rmap(D)),C=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(C));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=g.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return c.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new c.Loop(b.unit))(c.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(f.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(M)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(M)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return E(M)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=M}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=a,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,c,f,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,c=e.value,f=d.size,null!==e.error){for(c=n.left(e.error);t=o(l);)u(t.cb(c));for(;a=o(d);)u(a(c));for(;i=o(s);)u(i(c));break}if(c===r&&(t=o(l))&&(e.value=c=t.value),c!==r){for(i=o(s);f--&&(a=o(d));)u(a(n.right(c)));null!==i&&(e.value=r,u(i(n.right(c))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(){}return n.value=new n,n}(),c={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(c,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(c,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(c,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:w,forks:b,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Free"],f=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],g=n["Data.Foldable"],h=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],D=n["Data.Maybe"],E=n["Data.Ord"],A=n["Data.Unit"],M=n.Effect,C=n["Effect.Aff"],F=n["Effect.Class"],T=n["Effect.Exception"],H=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],L=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],N=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(t){if(t instanceof D.Nothing)return e;if(t instanceof D.Just)return F.liftEffect(C.monadEffectAff)(H.write(new D.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},U=function(n){return function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(e))(function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(C.bindAff)(s.parSequence_(C.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(C.applicativeAff)(e)})})})})})}},B=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(e){return F.liftEffect(C.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},P=function(n){return function(e){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(D.Just.create)(p.liftCoyoneda(t)),h.const(D.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var h;return c.foldFree(C.monadRecAff)((h=s,function(c){if(c instanceof x.State)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(C.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(h)))(function(){return u.discard(u.discardUnit)(C.bindAff)(U(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(C.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(c instanceof x.Subscribe)return u.bind(C.bindAff)(B(x.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(o){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(u.bind(C.bindAff)(r)(function(r){var c=u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(D.maybe(!1)(y.member(x.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(a.await(C.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(C.monadAff))(m.eq(D.eqMaybe(m.eqBoolean))(w.map(D.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new D.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new L.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.insert(x.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(C.bindAff)(a.runProcess(C.monadRecAff)(a.pullFrom(C.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(C.applicativeAff)(c.value1(n))})})});if(c instanceof x.Unsubscribe)return u.discard(u.discardUnit)(C.bindAff)((s=c.value0,function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(C.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(D.bindMaybe)(y.lookup(x.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(C.applicativeAff)(c.value1)});var s,p,b;if(c instanceof x.Lift)return c.value0;if(c instanceof x.ChildQuery)return function(n){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(C.functorAff)(t.value2)(d.sequential(C.parallelAff)(t.value0(C.applicativeParAff)(function(n){return d.parallel(C.parallelAff)(u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return P(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof x.Raise)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(N(n.pendingOuts)(e(c.value0)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.Par)return d.sequential(C.parallelAff)(r.retractFreeAp(C.applicativeParAff)(r.hoistFreeAp((p=d.parallel(C.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof x.Fork)return u.bind(C.bindAff)(B(x.ForkId)(h))(function(r){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(a){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.new(!1)))(function(f){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(C.finally(F.liftEffect(C.monadEffectAff)(function(){return H.modify_(y.delete(x.ordForkId)(r))(a.forks)(),H.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(o.unlessM(M.monadEffect)(H.read(f))(H.modify_(y.insert(x.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(C.applicativeAff)(c.value1(r))})})})})});if(c instanceof x.Kill)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.forks)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(g.foldableMaybe)(C.killFiber(T.error("Cancelled")))(y.lookup(x.ordForkId)(c.value0)(n)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.GetRef)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return t.pure(C.applicativeAff)(c.value1(y.lookup(E.ordString)(c.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[c.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof L.RefUpdate)return F.liftEffect(C.monadEffectAff)(h.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(E.ordString)(h.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof L.Action)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=P,e.evalM=O,e.handleLifecycle=U,e.queueOrRun=N}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Rec.Class"],f=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],g=n["Data.Map.Internal"],h=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,D=n["Effect.Aff"],E=n["Effect.Aff.AVar"],A=n["Effect.Class"],M=n["Effect.Console"],C=n["Effect.Exception"],F=n["Effect.Ref"],T=n["Halogen.Aff.Driver.Eval"],H=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],L=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=D.runAff_(l.either(C.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),N=function(n){return function(){var e,t=F.read(n)();return F.write(h.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(U){var B=function(n){return function(e){return function(t){return r.bind(D.bindAff)(E.empty)(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(function(){var t=F.read(n)();return F.modify_(function(n){return n+1|0})(n)(),F.modify_(g.insert(w.ordInt)(t)(u))(e)(),t}))(function(n){var c=a.producer(D.monadAff)(v.map(D.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(D.monadErrorAff)(E.take(u))));return v.void(D.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(D.bindAff)(a.runProcess(D.monadRecAff)(a.connect(D.monadRecAff)(D.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return E.kill(C.error("ended"))(u)})})))})})}}},P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=L(),i=H.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(H.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return H.unDriverStateX(function(t){var u=T.evalM(W)(t.selfRef)(t.component.eval(new x.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(D.bindAff)(f.parSequence_(D.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(D.bindAff)(u)(function(){return A.liftEffect(D.monadEffectAff)(function(){return N(t.pendingQueries)(),N(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(c.initializers))(F.read(i))(),i}})}}},O=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var c=v.map(y.functorEffect)(i.pop)(F.read(a))(),f=function(){if(c instanceof h.Just){F.write(c.value0.value1)(a)();var n=F.read(c.value0.value0)();return H.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(T.evalM(W)(n.selfRef)(n.component.eval(new x.Receive(i.input,b.unit))))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return P(e)((r=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input)(i.component)();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 245, column 98): "+[c.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return h.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(f))(o)(),r.bind(y.bindEffect)(F.read(f))(H.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof h.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[e.constructor.name])}))()}})}}}},W=function e(r){return function(a){return function(){var o=F.read(a)(),f=v.map(y.functorEffect)(h.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(f)(F.write(new h.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,g,w,E,A=u.identity(u.categoryFn)(o.selfRef),M=u.identity(u.categoryFn)(o.pendingQueries),C=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=T.queueOrRun(C),g=v.void(D.functorAff),w=T.evalF(e)(A),function(n){return l(g(w(n)))}),k=(E=T.queueOrRun(M),function(n){return E(S(I.Action.create(n)))}),x=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),L=F.read(o.childrenOut)(),N=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(N)(function(e){return function(){var t=F.read(e)();return H.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(H.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:L,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new h.Just(x),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(f)(d.flip(c.tailRecM(c.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(C)();F.write(new h.Just(m.Nil.value))(C)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(C)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(C))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return H.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(D.applicativeAff)(g.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(h.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((t=D.killFiber(C.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=T.evalM(W)(t.selfRef)(t.component.eval(new x.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},J=function(n){return function(e){return function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(D.applicativeAff)(h.Nothing.value):T.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return T.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((o=E.kill(C.error("disposed")),function(n){return D.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),H.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(L))(function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(0)))(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(!1)))(function(a){return T.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(P(n)((o=c,function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(D.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(E.put(n))(e))})}))(U)(e))();return H.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:B(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&c.value1(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],D=n["Halogen.VDom.Machine"],E=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],M=n["Web.DOM.Node"],C=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],T=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=M.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return M.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?D.halt(n.value0):l.unit};return{buildWidget:function(n){var t=E.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return D.mkStep(new D.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return D.mkStep(new D.Step(D.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return D.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=D.step(e.value0,t.value0);return D.mkStep(new D.Step(D.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=D.extract(d);return o.void(s.functorEffect)(M.appendChild(v)(T.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=M.parentNode(d.value0.node)(),e=M.nextSibling(d.value0.node)(),r=D.step(d.value0.machine,a),f=D.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(M.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(M.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(C.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],w=n["Halogen.VDom.Driver"],b=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],A=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),M=t._mainImpl;e.main=M,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(o.blist(e))(v.unit)(n)))(function(){return A})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(w.runUI(f.tagcloudcomponent(b.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(a.addbmark(e))(v.unit)(n)))(function(){return A})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(i.nlist(e))(v.unit)(n)))(function(){return A})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(c.nnote(e))(v.unit)(n)))(function(){return A})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(u.usetting(e))(v.unit)(n)))(function(){return A})})))}},e.viewRendered=A,e._mainImpl=t._mainImpl}(t),t.Main.main(); },{"moment":"a2Bw","marked":"afg3","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.js.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index f1cde47f955ca11faf8abe3c15313984987ef3f7..1b788d3f5592b775684108c97efd253dc339a4df 100644 GIT binary patch delta 25909 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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","function getDefaults() {\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: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n}\n\nfunction changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n}\n\nmodule.exports = {\n defaults: getDefaults(),\n getDefaults,\n changeDefaults\n};\n","/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, 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\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\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\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\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 (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n const relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction merge(obj) {\n let 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 const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let 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 let 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 const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - 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, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0,\n i = 0;\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\nmodule.exports = {\n escape,\n unescape,\n edit,\n cleanUrl,\n resolveUrl,\n noopTest,\n merge,\n splitCells,\n rtrim,\n findClosingBracket,\n checkSanitizeDeprecation\n};\n","const {\n noopTest,\n edit,\n merge\n} = require('./helpers.js');\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' *([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)', // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' *\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n});\n\nblock.gfm.nptable = edit(block.gfm.nptable)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\ 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n const lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n };\n};\n","const { defaults } = require('./defaults.js');\nconst {\n cleanUrl,\n escape\n} = require('./helpers.js');\n\n/**\n * Renderer\n */\nmodule.exports = class Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n const 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\n blockquote(quote) {\n return '
\\n' + quote + '
\\n';\n };\n\n html(html) {\n return html;\n };\n\n heading(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\n hr() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n };\n\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n checkbox(checked) {\n return ' ';\n };\n\n paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n table(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n };\n\n tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n };\n\n // span level renderer\n strong(text) {\n return '' + text + '';\n };\n\n em(text) {\n return '' + text + '';\n };\n\n codespan(text) {\n return '' + text + '';\n };\n\n br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n del(text) {\n return '' + text + '';\n };\n\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '
    ';\n return out;\n };\n\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n let out = '\"'' : '>';\n return out;\n };\n\n text(text) {\n return text;\n };\n};\n","/**\n * Slugger generates header id\n */\nmodule.exports = class Slugger {\n constructor() {\n this.seen = {};\n }\n\n /**\n * Convert string to unique id\n */\n slug(value) {\n let slug = value\n .toLowerCase()\n .trim()\n // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '')\n // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n const 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","const Renderer = require('./Renderer.js');\nconst { defaults } = require('./defaults.js');\nconst { inline } = require('./rules.js');\nconst {\n findClosingBracket,\n escape\n} = require('./helpers.js');\n\n/**\n * Inline Lexer & Compiler\n */\nmodule.exports = class InlineLexer {\n constructor(links, options) {\n this.options = options || defaults;\n this.links = links;\n this.rules = inline.normal;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.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 static get rules() {\n return inline;\n }\n\n /**\n * Static Lexing/Compiling Method\n */\n static output(src, links, options) {\n const inline = new InlineLexer(links, options);\n return inline.output(src);\n }\n\n /**\n * Lexing/Compiling\n */\n output(src) {\n let 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.renderer.html(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 const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n }\n\n static escapes(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n }\n\n /**\n * Compile Link\n */\n outputLink(cap, link) {\n const 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 smartypants(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 mangle(text) {\n if (!this.options.mangle) return text;\n const l = text.length;\n let out = '',\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 * TextRenderer\n * returns only the textual part of the token\n */\nmodule.exports = class TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n\n em(text) {\n return text;\n }\n\n codespan(text) {\n return text;\n }\n\n del(text) {\n return text;\n }\n\n html(text) {\n return text;\n }\n\n text(text) {\n return text;\n }\n\n link(href, title, text) {\n return '' + text;\n }\n\n image(href, title, text) {\n return '' + text;\n }\n\n br() {\n return '';\n }\n};\n","const Renderer = require('./Renderer.js');\nconst Slugger = require('./Slugger.js');\nconst InlineLexer = require('./InlineLexer.js');\nconst TextRenderer = require('./TextRenderer.js');\nconst { defaults } = require('./defaults.js');\nconst {\n merge,\n unescape\n} = require('./helpers.js');\n\n/**\n * Parsing & Compiling\n */\nmodule.exports = class Parser {\n constructor(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || 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 static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n };\n\n /**\n * Parse Loop\n */\n parse(tokens) {\n this.inline = new InlineLexer(tokens.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n tokens.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = tokens.reverse();\n\n let out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n };\n\n /**\n * Next Token\n */\n next() {\n this.token = this.tokens.pop();\n return this.token;\n };\n\n /**\n * Preview Next Token\n */\n peek() {\n return this.tokens[this.tokens.length - 1] || 0;\n };\n\n /**\n * Parse Text Tokens\n */\n parseText() {\n let 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 tok() {\n let body = '';\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 let header = '',\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 const 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 const loose = this.token.loose;\n const checked = this.token.checked;\n const task = this.token.task;\n\n if (this.token.task) {\n if (loose) {\n if (this.peek().type === 'text') {\n const nextToken = this.peek();\n nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text;\n } else {\n this.tokens.push({\n type: 'text',\n text: this.renderer.checkbox(checked)\n });\n }\n } else {\n body += this.renderer.checkbox(checked);\n }\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n const 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","const Lexer = require('./Lexer.js');\nconst Parser = require('./Parser.js');\nconst Renderer = require('./Renderer.js');\nconst TextRenderer = require('./TextRenderer.js');\nconst InlineLexer = require('./InlineLexer.js');\nconst Slugger = require('./Slugger.js');\nconst {\n merge,\n checkSanitizeDeprecation,\n escape\n} = require('./helpers.js');\nconst {\n getDefaults,\n changeDefaults,\n defaults\n} = require('./defaults.js');\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n const highlight = opt.highlight;\n let 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 const done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n let 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 opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\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\nmodule.exports = marked;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.13.6\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url, xhr) {\n if (xhr.nodejsBaseUrl === null) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n } else {\n return url || \"/\";\n }\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs === ys) return true;\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return new Eq($foreign.eqArrayImpl(eq(dictEq)));\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 73, column 1 - line 73, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 52, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = new $$String(Control_Category.identity(Control_Category.categoryFn));\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"lmap\"] = lmap;\n exports[\"rmap\"] = rmap;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var Data_Eq = $PS[\"Data.Eq\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n var eqOrdering = new Data_Eq.Eq(function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n });\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $116 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($116) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 389, column 3 - line 389, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $120 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($120) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 402, column 3 - line 402, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n var elem = function (dictFoldable) {\n return function (dictEq) {\n var $204 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $205 = Data_Eq.eq(dictEq);\n return function ($206) {\n return $204($205($206));\n };\n };\n };\n var notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $207 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $208 = elem(dictFoldable)(dictEq)(x);\n return function ($209) {\n return $207($208($209));\n };\n };\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"notElem\"] = notElem;\n exports[\"find\"] = find;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\n };\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 48, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindEither = new Control_Bind.Bind(function () {\n return applyEither;\n }, either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }));\n var applicativeEither = new Control_Applicative.Applicative(function () {\n return applyEither;\n }, Right.create);\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $17 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($18) {\n return $17(Data_Either.Left.create($18));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $90 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($91) {\n return $90(Data_Either.Left.create($91));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, (function () {\n var $92 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($93) {\n return ExceptT($92(Data_Either.Right.create($93)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $102 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($103) {\n return ExceptT($102(Data_Either.Left.create($103)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n var mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n };\n exports[\"runExcept\"] = runExcept;\n exports[\"mapExcept\"] = mapExcept;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n };\n\n function isArray(a) {\n return Object.prototype.toString.call(a) === \"[object Array]\";\n }\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n\n exports.toArrayWithKey = toArrayWithKey;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortImpl = function (f) {\n return function (l) {\n return l.slice().sort(function (x, y) {\n return f(x)(y);\n });\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n };\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n }; \n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n }; \n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 143, column 3 - line 145, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n }; \n var sortBy = function (comp) {\n return function (xs) {\n var comp$prime = function (x) {\n return function (y) {\n var v = comp(x)(y);\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 702, column 15 - line 705, column 13): \" + [ v.constructor.name ]);\n };\n };\n return $foreign.sortImpl(comp$prime)(xs);\n };\n };\n var singleton = function (a) {\n return [ a ];\n };\n var $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"null\"] = $$null;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\n exports[\"delete\"] = $$delete;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"concat\"] = $foreign.concat;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FoldableWithIndex\"] = $PS[\"Data.FoldableWithIndex\"] || {};\n var exports = $PS[\"Data.FoldableWithIndex\"];\n var FoldableWithIndex = function (Foldable0, foldMapWithIndex, foldlWithIndex, foldrWithIndex) {\n this.Foldable0 = Foldable0;\n this.foldMapWithIndex = foldMapWithIndex;\n this.foldlWithIndex = foldlWithIndex;\n this.foldrWithIndex = foldrWithIndex;\n };\n exports[\"FoldableWithIndex\"] = FoldableWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FunctorWithIndex\"] = $PS[\"Data.FunctorWithIndex\"] || {};\n var exports = $PS[\"Data.FunctorWithIndex\"]; \n var FunctorWithIndex = function (Functor0, mapWithIndex) {\n this.Functor0 = Functor0;\n this.mapWithIndex = mapWithIndex;\n };\n exports[\"FunctorWithIndex\"] = FunctorWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"Traversable\"] = Traversable;\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"]; \n var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) {\n this.FoldableWithIndex1 = FoldableWithIndex1;\n this.FunctorWithIndex0 = FunctorWithIndex0;\n this.Traversable2 = Traversable2;\n this.traverseWithIndex = traverseWithIndex;\n };\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"TraversableWithIndex\"] = TraversableWithIndex;\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = $PS[\"Data.FoldableWithIndex\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = $PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = new Data_Functor.Functor(function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n });\n var functorWithIndexObject = new Data_FunctorWithIndex.FunctorWithIndex(function () {\n return functorObject;\n }, mapWithKey);\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }, function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n });\n var foldableWithIndexObject = new Data_FoldableWithIndex.FoldableWithIndex(function () {\n return foldableObject;\n }, function (dictMonoid) {\n return foldMap(dictMonoid);\n }, function (f) {\n return fold(Data_Function.flip(f));\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n });\n var traversableWithIndexObject = new Data_TraversableWithIndex.TraversableWithIndex(function () {\n return foldableWithIndexObject;\n }, function () {\n return functorWithIndexObject;\n }, function () {\n return traversableObject;\n }, function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n });\n var traversableObject = new Data_Traversable.Traversable(function () {\n return foldableObject;\n }, function () {\n return functorObject;\n }, function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n }, function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n });\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.toLower = function (s) {\n return s.toLowerCase();\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n };\n var showNumber = new Show($foreign.showNumberImpl);\n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 109, column 12 - line 111, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 155, column 1 - line 157, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n exports[\"null\"] = $foreign[\"null\"];\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n })();\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 397, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var launchAff_ = (function () {\n var $43 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($44) {\n return $43(launchAff($44));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return Canceler(Data_Function[\"const\"]($45($46)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $49 = Effect_Class.liftEffect(monadEffectAff);\n return function ($50) {\n return $49(k($50));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, (function () {\n var $53 = Control_Parallel_Class.parallel(parallelAff);\n var $54 = Control_Applicative.pure(applicativeAff);\n return function ($55) {\n return $53($54($55));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = (function () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\n })();\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readNumber = unsafeReadTagged(\"Number\");\n var readInt = function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $109 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($110) {\n return $109(Data_Int.fromNumber($110));\n };\n })();\n return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function[\"const\"](error))(fromNumber))(readNumber(value));\n };\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var XHRError = (function () {\n function XHRError(value0) {\n this.value0 = value0;\n };\n XHRError.create = function (value0) {\n return new XHRError(value0);\n };\n return XHRError;\n })();\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($47) {\n return Foreign.fail(Foreign.ForeignError.create($47));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($48) {\n return req.responseFormat.value0(parseJSON($48));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 237, column 18 - line 243, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 203, column 20 - line 218, column 69): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var ajaxRequest = function (v) {\n return {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: v,\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 184, column 9 - line 186, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left(new XHRError(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 182, column 86 - line 188, column 28): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 173, column 7 - line 177, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 169, column 3 - line 177, column 48): \" + [ req.content.constructor.name ]);\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var eqStatusCode = new Data_Eq.Eq(function (x) {\n return function (y) {\n return x === y;\n };\n });\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var DecodeJson = function (decodeJson) {\n this.decodeJson = decodeJson;\n }; \n var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.caseJsonNumber(new Data_Either.Left(\"Value is not a Number\"))(Data_Either.Right.create)); \n var decodeJson = function (dict) {\n return dict.decodeJson;\n }; \n var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an integer\"))(Data_Either.Right.create);\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeJson(decodeJsonNumber)));\n var decodeJObject = (function () {\n var $56 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an Object\"))(Data_Either.Right.create);\n return function ($57) {\n return $56(Data_Argonaut_Core.toObject($57));\n };\n })();\n var decodeForeignObject = function (dictDecodeJson) {\n return new DecodeJson((function () {\n var $83 = Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) {\n return \"Couldn't decode ForeignObject: \" + v;\n });\n var $84 = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject);\n return function ($85) {\n return $83($84($85));\n };\n })());\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n\n\n exports._toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \n }\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var RawHTML = function (x) {\n return x;\n };\n var toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n };\n var setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return function () {\n return $foreign[\"_closeWindow\"](win);\n };\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n exports[\"setFocus\"] = setFocus;\n exports[\"toLocaleDateString\"] = toLocaleDateString;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $87 = writeImpl(dictWriteForeign);\n return function ($88) {\n return Global_Unsafe.unsafeStringify($87($88));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $91 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($92) {\n return $91(Data_Nullable.toMaybe($92));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));\n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagcloudmode_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"expanded\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"mode\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"value\";\n }))(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_String_Common.split(\" \")(s));\n })(Foreign.readString(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 112, column 1 - line 112, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"shared\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\n var isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 102, column 1 - line 102, column 39): \" + [ v.constructor.name ]);\n };\n var eqTagCloudModeF = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n });\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n exports[\"tagcloudmode_wfI\"] = tagcloudmode_wfI;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 29, column 1 - line 31, column 25): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.hasAttribute = function (ns, attr, el) {\n if (ns != null) {\n return el.hasAttributeNS(ns, attr);\n } else {\n return el.hasAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"hasAttribute\"] = $foreign.hasAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Halogen_VDom_Util.hasAttribute(Data_Nullable[\"null\"], key, el);\n if (v) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable[\"null\"], key, el);\n };\n var v1 = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v1 === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $56 = v11.value2 === v2.value2;\n if ($56) {\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 $65 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($65) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var ifElseA = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $44 = Data_Maybe.fromMaybe(\"\");\n return function ($45) {\n return $44(Data_Nullable.toMaybe($45));\n };\n })();\n var class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($46));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return Global_Unsafe.unsafeDecodeURIComponent($47($48));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $43 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($43) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"ifElseA\"] = ifElseA;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(v.bm.bid > 0)(display_exists) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Applicative.when(Effect.applicativeEffect)(v.value0)(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $59 = {};\n for (var $60 in v1) {\n if ({}.hasOwnProperty.call(v1, $60)) {\n $59[$60] = v1[$60];\n };\n };\n $59.loading = true;\n return $59;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $64 = {};\n for (var $65 in v1) {\n if ({}.hasOwnProperty.call(v1, $65)) {\n $64[$65] = v1[$65];\n };\n };\n $64.loading = false;\n return $64;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($73) {\n return Data_Maybe.Just.create(BEditField.create(f($73)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($74) {\n return Data_Maybe.Just.create(BEditSubmit.create($74));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)), Halogen_HTML_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_(notetextid(v.edit_note)), Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $25 = m - n < 1.0e-2;\n if ($25) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Foldable.notElem(Data_Foldable.foldableArray)(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modetop));\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb1));\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb2));\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb5));\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb10));\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $41 = Model.isExpanded(v.mode);\n if ($41) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ])), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\n };\n return toArray([ ])(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)((function () {\n var $123 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($124) {\n return $123(v1.value1($124));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)((function () {\n var $176 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $177 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($178) {\n return $176($177($178));\n };\n })());\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (l) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (r) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(l)(r)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (next) {\n if (next instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(next.value0));\n };\n if (next instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(next.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ next.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (e) {\n if (e instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(e.value0))(Data_Maybe.Nothing.value);\n };\n if (e instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(e.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ e.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n }; \n var kill = function (error) {\n var $11 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $12 = Effect_AVar.kill(error);\n return function ($13) {\n return $11($12($13));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (subs) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n var v2 = v1.value0(sid);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v2)(function (v4) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions)))(function (subs) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(sid)))(v3.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(Halogen_Query_EventSource.finalize(v4.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (act) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions))))(function (subs) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(new Data_Maybe.Just(true)))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(act)))))(function () {\n return consumer;\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(done)))(v3.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v4.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $85 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $86 = evalM(render)(ref);\n return function ($87) {\n return $85($86($87));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = $PS[\"Effect.Aff.AVar\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $30 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $32 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($33) {\n return $32(Halogen_Query_EventSource.finalize($33));\n };\n })());\n return function ($31) {\n return handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $34 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($35) {\n return handleAff($34($35));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (inputVar) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var listenerId = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v) {\n return v + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(listenerId)(inputVar))(ref)();\n return listenerId;\n }))(function (listenerId) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(inputVar))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(listenerId))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(inputVar);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (listeners) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(listeners));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $36 = render(lchs);\n return function ($37) {\n return $36((function (v) {\n return v.selfRef;\n })($37));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $38 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($39) {\n return $38(slot.output($39));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)((function () {\n var $40 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($41) {\n return $40(slot.output($41));\n };\n })())(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($42) {\n return Data_Maybe.isJust(slot.get($42));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): \" + [ v.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $44 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $45 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($46) {\n return $43($44($45($46)));\n };\n })();\n var childHandler = (function () {\n var $47 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($48) {\n return $47(handler(Halogen_Query_Input.Action.create($48)));\n };\n })();\n var rendering = renderSpec.render(function ($49) {\n return handleAff(handler($49));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $50 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($51) {\n return handleAff($50(Data_List.reverse($51)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $24 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($24) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $52 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($53) {\n return Effect_Aff.launchAff_($52($53));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $54 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($55) {\n return $54((function (v1) {\n return v1.rendering;\n })($55));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (fresh) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var listeners = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)(rootHandler(listeners))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n subscribe: subscribe(fresh)(listeners),\n dispose: dispose(disposed)(lchs)(dsx)(listeners)\n });\n })(dsx)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $56 = v === v1;\n if ($56) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (k, ix, v1) {\n var res = build(v1.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var npn = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(npn)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.6\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/src/defaults.js","../node_modules/marked/src/helpers.js","../node_modules/marked/src/rules.js","../node_modules/marked/src/Lexer.js","../node_modules/marked/src/Renderer.js","../node_modules/marked/src/Slugger.js","../node_modules/marked/src/InlineLexer.js","../node_modules/marked/src/TextRenderer.js","../node_modules/marked/src/Parser.js","../node_modules/marked/src/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["getDefaults","baseUrl","breaks","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","xhtml","changeDefaults","newDefaults","module","exports","defaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape","html","encode","test","replace","unescapeTest","unescape","_","n","toLowerCase","charAt","String","fromCharCode","parseInt","substring","caret","edit","regex","opt","source","obj","name","val","getRegex","RegExp","nonWordAndColonTest","originIndependentUrl","cleanUrl","base","href","prot","decodeURIComponent","e","indexOf","resolveUrl","encodeURI","baseUrls","justDomain","protocol","domain","rtrim","relativeBase","noopTest","exec","merge","i","target","key","arguments","length","Object","prototype","hasOwnProperty","call","splitCells","tableRow","count","row","cells","match","offset","str","escaped","curr","split","splice","push","trim","c","invert","l","suffLen","currChar","substr","findClosingBracket","b","level","checkSanitizeDeprecation","console","warn","require","block","newline","code","fences","hr","heading","blockquote","list","def","nptable","table","lheading","_paragraph","text","_label","_title","bullet","item","_tag","_comment","paragraph","normal","inline","autolink","url","tag","link","reflink","nolink","strong","em","br","del","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","options","tokens","links","create","rules","src","token","top","next","loose","cap","bull","listStart","listItems","t","space","isordered","istask","ischecked","type","lastToken","trimRight","codeBlockStyle","lang","depth","header","align","ordered","start","slice","join","undefined","task","checked","pre","title","Error","charCodeAt","lexer","Lexer","lex","infostring","out","quote","raw","slugger","slug","body","content","flags","seen","value","originalSlug","Renderer","prevCapZero","inLink","inRawBlock","lastParenIndex","linkLen","outputLink","InlineLexer","escapes","output","codespan","image","Math","random","toString","Slugger","TextRenderer","inlineText","reverse","tok","pop","peek","cell","j","tablecell","tablerow","nextToken","checkbox","parseText","listitem","errMsg","log","parser","Parser","parse","marked","callback","pending","done","err","message","setOptions","inlineLexer","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","Item","array","noop","nextTick","args","Array","apply","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","nodejsBaseUrl","urllib","u","hostname","format","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msg","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","map","responseType","withCredentials","send","error","cancelErrback","cancelCallback","abort","arrayApply","fs","xs","k","result","f","$PS","semigroupoidFn","compose","g","x","dict","Control_Semigroupoid","categoryFn","Semigroupoid0","identity","a","v","y","arrayMap","arr","unit","$foreign","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","fa","Control_Category","Data_Functor","Apply","Functor0","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","v1","constructor","arrayBind","Bind","bind","bindArray","bindFlipped","dictBind","flip","discardUnit","discard","m","refEq","r1","r2","eqBooleanImpl","eqIntImpl","eqCharImpl","eqStringImpl","eqArrayImpl","ys","Eq","eq","eqUnit","eqString","eqInt","eqChar","eqBoolean","dictEq","Control_Applicative","Control_Bind","Data_Eq","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","applicativeMaybe","Applicative","dictPartial","Data_Maybe","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","boolConj","b1","b2","boolDisj","boolNot","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","dictHeytingAlgebra","concatString","s1","s2","concatArray","Semigroup","append","semigroupString","semigroupArray","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$96","$97","$98","newtypeMediaType","Data_MediaType","Data_Newtype","Accept","ContentType","RequestHeader","value1","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","LT","GT","EQ","eqOrdering","Data_Ordering","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","dictOrd","Data_Ord","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$197","applySecond","$198","foldableMaybe","z","foldableArray","foldMapDefaultR","any","alaF","monoidDisj","sep","$207","$208","$204","$205","$206","elem","$209","p","maximumBy","cmp","minimumBy","Data_Bifunctor","Data_Foldable","Left","Right","functorEither","foldableEither","either","hush","bifunctorEither","Bifunctor","applyEither","bindEither","applicativeEither","Data_Either","throwError","Monad0","MonadThrow0","catchError","dictMonadError","Bind1","$17","Applicative0","$18","dictMonad","f$prime","a$prime","mb","when","unless","Control_Monad","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","Monad","applicativeExceptT","bindExceptT","applyExceptT","$90","$91","ap","$92","$93","MonadThrow","$102","$103","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","monadIdentity","$0","Control_Monad_Except_Trans","Data_Identity","runExcept","$1","runExceptT","$2","$3","fromObject","id","stringify","JSON","_caseJson","isNull","isBool","isNum","isStr","isArr","isObj","_copyST","r","empty","runST","_fmapObject","m0","_mapWithKey","_foldM","mz","_lookup","no","yes","toArrayWithKey","cons","snoc","l1","findIndexImpl","just","nothing","_deleteAt","xss","sortImpl","sort","drop","unsafeIndexImpl","Tuple","functorTuple","dictOrd1","eqTuple","dictEq1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","unfoldable1Array","unfoldr1","Data_Unfoldable1","unfoldableArray","Unfoldable10","unfoldr","Data_Boolean","Data_Unfoldable","singleton","findIndex","deleteAt","concatMap","dictUnfoldable","unsafeIndex","otherwise","$94","$95","comp","deleteBy","Foldable0","foldMapWithIndex","foldlWithIndex","foldrWithIndex","runFn4","fn","d","mapWithIndex","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","Traversable","Foldable1","sequence","traverse","traversableArray","sequenceDefault","dictTraversable","FoldableWithIndex1","FunctorWithIndex0","Traversable2","traverseWithIndex","poke","Data_Array","Data_FoldableWithIndex","Data_Function_Uncurried","Data_FunctorWithIndex","Data_Traversable","Data_TraversableWithIndex","Foreign_Object_ST","values","thawST","lookup","insert","mutate","s","functorObject","functorWithIndexObject","FunctorWithIndex","fold","applyFlipped","foldableObject","foldableWithIndexObject","FoldableWithIndex","uncurry","traversableWithIndexObject","TraversableWithIndex","traversableObject","ms","$43","$44","$36","toUnfoldable","$37","$38","Foreign_Object","toJsonType","jsonEmptyObject","toObject","_jsonParser","fail","succ","replaceAll","s3","toLower","joinWith","encdecURI","encdec","_encodeURIComponent","encodeURIComponent","$19","$20","Data_String_Common","Global","$21","showIntImpl","showNumberImpl","isNaN","Show","show","showNumber","showInt","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","showMethod","print","alt","Alt0","Control_Alt","Control_Plus","Nil","Cons","functorList","chunkedRevMap","$copy_chunksAcc","$copy_v","$tco_var_chunksAcc","$tco_result","$tco_done","$tco_loop","chunksAcc","$copy_v1","$copy_acc","$tco_var_v1","unrolledMap","foldableList","$202","$203","$copy_b","$tco_var_b","rev","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","NonEmpty","dictPlus","$168","Data_List_Types","Data_NonEmpty","$169","NonEmptyList","nullable","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","sequential","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","root","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","generalBracket","acquire","_makeFiber","_sequential","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","liftA1","semigroupEffect","dictSemigroup","lift2","new","read","ref","state","write","Effect","s$prime","modify","Effect_Ref","Loop","Done","MonadRec","tailRecM","monadRecEffect","fromDone","parallel","Applicative1","Control_Parallel_Class","dictParallel","parTraverse_","MonadEffect","liftEffect","monadEffectEffect","unsafePerformEffect","unsafePartial","crashWith","Partial","unsafeCoerce","$45","$53","$54","Control_Monad_Rec_Class","Control_Parallel","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","launchAff_","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","effectCanceler","$46","Canceler","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","parallelAff","Parallel","applicativeParAff","$55","semigroupCanceler","parSequence_","monadRecAff","res","monoidCanceler","$49","$50","runAff","fin","bracket","Effect_Aff","$4","$5","k2","$6","$7","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","fromNumberImpl","toNumber","fromNumber","$107","Control_Monad_Except","Data_Int","Data_List_NonEmpty","ForeignError","TypeMismatch","monadThrowExceptT","$108","unsafeReadTagged","readBoolean","readNumber","readString","$109","$110","mapExcept","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Data_Argonaut_Core","Data_Argonaut_Parser","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","RequestContentError","ResponseBodyError","XHRError","defaultRequest","responseFormat","req","parseJSON","fromResponse","composeKleisliFlipped","$48","$47","jsonParser","addHeader","mh","hs","mapFlipped","fromEffectFnAff","h","reqContent","toMediaType","toResponseType","note","extractContent","eqStatusCode","$56","DecodeJson","decodeJson","decodeJsonNumber","caseJsonNumber","decodeJsonInt","decodeJObject","$57","dictDecodeJson","$83","lmap","$84","$85","moment","_app","app","_mmoment8601","ISO_8601","fromNow","_closeWindow","window","close","_setFocus","elemId","document","getElementById","focus","_toLocaleDateString","dateString","Date","toLocaleDateString","dateStyle","win","SProxy","reflectSymbol","unsafeStringify","unsafeDecodeURIComponent","unsafeGet","label","rec","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","RLProxy","Global_Unsafe","Record","Record_Builder","Type_Data_RowList","WriteForeignFields","writeImplFields","WriteForeign","writeImpl","writeForeignString","writeForeignInt","writeForeignForeign","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$87","$88","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","Simple_JSON","TagCloudModeTop","TagCloudModeLowerBound","TagCloudModeRelated","TagCloudModeNone","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","tagcloudmode_wfI","note_wfI","eqTagCloudModeF","eqArray","bookmark_wfI","writeForeignNullable","tagCloudMode","fromMaybe","mode","expanded","readInt","intercalate","setHref","location","search","reload","Affjax","Affjax_StatusCode","Data_Argonaut_Decode_Class","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","eres","decodeForeignObject","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","dictMonadState","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","viewOn","view","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","coyoneda","fi","Coyoneda","functorCoyoneda","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","v3","v4","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","$tco_var_v","tree","up","$copy_ctx","$copy_v2","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","OrdBox","eqOrdBox","ordOrdBox","Data_Map_Internal","Halogen_Data_OrdBox","sym","ordTuple","mkOrdBox","$tco_var_acc","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","$120","$121","freeApply","$122","$123","$124","dictMonadRec","runExpF","concatF","toView","$136","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","Lift","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$139","liftF","monadEffectHalogenM","dictMonadEffect","$144","$145","functorHalogenM","bindHalogenM","applicativeHalogenM","o","dictMonadAff","$146","$147","Initialize","Finalize","Receive","Action","Query","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","voidLeft","unCoyoneda","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Step","unStep","mkStep","extract","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forEachE","forInE","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","as","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttribute","removeAttributeNS","hasAttribute","hasAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","eventListener","event","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","props","applyProp","events","patchProp","ps2","onThis","onThese","v11","elVal","$65","diffProp","onThat","nextState","renderProp","ps1","ps1$prime","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$58","graft","bifunctorGraft","$60","$61","runGraft","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","renderOnOff","isPropInt","isPropInputType","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","$30","$31","children","dictIsProp","$33","$34","$35","$32","element","form","span","tbody_","tbody","td","td_","tr_","tr","div","div_","button","br_","es","unsafeReadPropImpl","readProp","RefUpdate","_currentTarget","currentTarget","preventDefault","$8","Foreign_Index","Halogen_HTML_Core","Halogen_Query_Input","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onClick","click","onSubmit","addForeignPropHandler","prop","reader","composeKleisli","onChecked","change","onValueChange","$11","mel","required","rows","id_","$$for","disabled","class_","autofocus","autocomplete","$22","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","topInt","bottomInt","topChar","bottomChar","Bounded","Ord0","bottom","boundedInt","boundedChar","toCharCode","toEnum$prime","Data_Bounded","fromEnum","charToEnum","enumChar","pred","fromEnum$prime","defaultSucc","boundedEnumChar","Bounded0","Enum1","cardinality","toEnum","dictBoundedEnum","low","high","intDegree","min","abs","intDiv","intMod","yy","intSub","intAdd","intMul","semiringInt","add","mul","one","zero","Data_Semiring","ringInt","Semiring0","sub","Data_Ring","commutativeRingInt","Ring0","Data_CommutativeRing","euclideanRingInt","CommutativeRing0","degree","mod","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","$26","toEnumWithDefaults","take","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","fromNullableStr","_loc","loc","_parseQueryString","srh","decode","srh$prime","qs","mapMaybe","kv","find","$51","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_Component","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BLookupTitle","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","loading","b$prime","toTextarea","mmoment","mmoment8601","time","$67","display_exists","guard","ifElseH","$68","whenH","textarea","description","tags","toread","modify_","$41","$42","lookupTitle","mtitle","selected","archiveUrl","destroy","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","_read","toNode","toElement","Web_HTML_HTMLElement","getHTMLElementRef","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","for_","monoidEffect","$10","$14","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","spin","outputQuery","widget","componentSlot","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","_bm","tagid","star","shdatetime","shdate","linkToFilterTag","userR","$73","dat","isowner","$74","slot","absurd","whenA","toggleStar","raise","markRead","setFocus","$59","$64","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","shared","Etext","EisMarkdown","Eshared","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","edit_note","_edit_note","notetextid","note$prime","isMarkdown","updated","destroyNote","whenM","editNote","res$prime","noteR","$$Math","TInitialize","TExpanded","TChangeMode","m$prime","rescale","fetchTagCloud","mode$prime","getTagCloud","tagCloudModeFromF","tagcloud","toArray","curtags","opacity","k_lower","fontsize","style","notElem","toSizedTag","sortBy","comparing","$52","modetop","isExpanded","modelb5","modelb20","modelb2","modelb10","modelb1","ifElseA","isRelated","minimum","maximum","setExpanded","updateTagCloudMode","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","lift","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","fuseWithL","dictFunctor2","zap","gs","fuseWith","functorAwait","rmap","bifunctorEmit","functorEmit","runFreeT","$176","$177","$178","recv","me","monadRecFreeT","monadTransFreeT","liftFreeT","monadForkAff","Functor1","fork","suspend","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","ps","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","put","$12","$13","throwException","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","selfRef","childrenIn","childrenOut","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","ds","refs","lifecycleHandlers","unChildQueryBox","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Query_EventSource","Unsafe_Reference","queueOrRun","au","handleLifecycle","initializers","finalizers","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","sid","subs","member","finalizer","consumer","act","eqMaybe","evalF","runProcess","pullFrom","producer","$86","cqb","dsx","retractFreeAp","hoistFreeAp","ForkId","doneRef","unlessM","forkMap","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","renderSpec","subscribe","inputVar","listenerId","connect","runComponent","lchs$prime","$$var","initDriverState","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","isDuplicate","$39","renderStateX","shouldProcessHandlers","$40","childHandler","foreachSlot","childDS","renderStateX_","ds$prime","mmore","evalDriver","disposed","dispose","subsRef","query","_querySelector","selector","node","querySelector","toParentNode","toDocument","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","haltWidget","halt","patchWidget","vdom","haltText","parent","patchText","haltKeyed","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","attrs2","children2","patchKeyed","ix$prime","spec","buildText","buildElem","name1","as1","ch1","child","buildAttributes","buildKeyed","buildWidget","w","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","renderThunk","buildVDom","getEffProp","_parentNode","_nextSibling","node1","node2","appendChild","nextSibling","$15","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","npn","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","rsx","patch","step$prime","buildProp","mkSpec","machine","nextSib","machine$prime","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Component_TagCloud","Halogen_Aff_Util","Halogen_VDom_Driver","viewRendered","selectElement","main","logout","renderElSelector","bmarks","blist","tagcloudcomponent","tagCloudModeToF","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.js","sourceRoot":"","sourcesContent":["//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","function getDefaults() {\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: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n}\n\nfunction changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n}\n\nmodule.exports = {\n defaults: getDefaults(),\n getDefaults,\n changeDefaults\n};\n","/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, 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\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\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\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\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 (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n const relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction merge(obj) {\n let 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 const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let 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 let 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 const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - 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, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0,\n i = 0;\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\nmodule.exports = {\n escape,\n unescape,\n edit,\n cleanUrl,\n resolveUrl,\n noopTest,\n merge,\n splitCells,\n rtrim,\n findClosingBracket,\n checkSanitizeDeprecation\n};\n","const {\n noopTest,\n edit,\n merge\n} = require('./helpers.js');\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' *([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)', // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' *\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n});\n\nblock.gfm.nptable = edit(block.gfm.nptable)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\ 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n const lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n };\n};\n","const { defaults } = require('./defaults.js');\nconst {\n cleanUrl,\n escape\n} = require('./helpers.js');\n\n/**\n * Renderer\n */\nmodule.exports = class Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n const 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\n blockquote(quote) {\n return '
    \\n' + quote + '
    \\n';\n };\n\n html(html) {\n return html;\n };\n\n heading(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\n hr() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n };\n\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n checkbox(checked) {\n return ' ';\n };\n\n paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n table(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n };\n\n tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n };\n\n // span level renderer\n strong(text) {\n return '' + text + '';\n };\n\n em(text) {\n return '' + text + '';\n };\n\n codespan(text) {\n return '' + text + '';\n };\n\n br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n del(text) {\n return '' + text + '';\n };\n\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '
    ';\n return out;\n };\n\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n let out = '\"'' : '>';\n return out;\n };\n\n text(text) {\n return text;\n };\n};\n","/**\n * Slugger generates header id\n */\nmodule.exports = class Slugger {\n constructor() {\n this.seen = {};\n }\n\n /**\n * Convert string to unique id\n */\n slug(value) {\n let slug = value\n .toLowerCase()\n .trim()\n // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '')\n // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n const 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","const Renderer = require('./Renderer.js');\nconst { defaults } = require('./defaults.js');\nconst { inline } = require('./rules.js');\nconst {\n findClosingBracket,\n escape\n} = require('./helpers.js');\n\n/**\n * Inline Lexer & Compiler\n */\nmodule.exports = class InlineLexer {\n constructor(links, options) {\n this.options = options || defaults;\n this.links = links;\n this.rules = inline.normal;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.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 static get rules() {\n return inline;\n }\n\n /**\n * Static Lexing/Compiling Method\n */\n static output(src, links, options) {\n const inline = new InlineLexer(links, options);\n return inline.output(src);\n }\n\n /**\n * Lexing/Compiling\n */\n output(src) {\n let 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.renderer.html(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 const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n }\n\n static escapes(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n }\n\n /**\n * Compile Link\n */\n outputLink(cap, link) {\n const 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 smartypants(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 mangle(text) {\n if (!this.options.mangle) return text;\n const l = text.length;\n let out = '',\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 * TextRenderer\n * returns only the textual part of the token\n */\nmodule.exports = class TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n\n em(text) {\n return text;\n }\n\n codespan(text) {\n return text;\n }\n\n del(text) {\n return text;\n }\n\n html(text) {\n return text;\n }\n\n text(text) {\n return text;\n }\n\n link(href, title, text) {\n return '' + text;\n }\n\n image(href, title, text) {\n return '' + text;\n }\n\n br() {\n return '';\n }\n};\n","const Renderer = require('./Renderer.js');\nconst Slugger = require('./Slugger.js');\nconst InlineLexer = require('./InlineLexer.js');\nconst TextRenderer = require('./TextRenderer.js');\nconst { defaults } = require('./defaults.js');\nconst {\n merge,\n unescape\n} = require('./helpers.js');\n\n/**\n * Parsing & Compiling\n */\nmodule.exports = class Parser {\n constructor(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || 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 static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n };\n\n /**\n * Parse Loop\n */\n parse(tokens) {\n this.inline = new InlineLexer(tokens.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n tokens.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = tokens.reverse();\n\n let out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n };\n\n /**\n * Next Token\n */\n next() {\n this.token = this.tokens.pop();\n return this.token;\n };\n\n /**\n * Preview Next Token\n */\n peek() {\n return this.tokens[this.tokens.length - 1] || 0;\n };\n\n /**\n * Parse Text Tokens\n */\n parseText() {\n let 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 tok() {\n let body = '';\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 let header = '',\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 const 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 const loose = this.token.loose;\n const checked = this.token.checked;\n const task = this.token.task;\n\n if (this.token.task) {\n if (loose) {\n if (this.peek().type === 'text') {\n const nextToken = this.peek();\n nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text;\n } else {\n this.tokens.push({\n type: 'text',\n text: this.renderer.checkbox(checked)\n });\n }\n } else {\n body += this.renderer.checkbox(checked);\n }\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n const 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","const Lexer = require('./Lexer.js');\nconst Parser = require('./Parser.js');\nconst Renderer = require('./Renderer.js');\nconst TextRenderer = require('./TextRenderer.js');\nconst InlineLexer = require('./InlineLexer.js');\nconst Slugger = require('./Slugger.js');\nconst {\n merge,\n checkSanitizeDeprecation,\n escape\n} = require('./helpers.js');\nconst {\n getDefaults,\n changeDefaults,\n defaults\n} = require('./defaults.js');\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n const highlight = opt.highlight;\n let 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 const done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n let 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 opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\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\nmodule.exports = marked;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.13.8\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url, xhr) {\n if (xhr.nodejsBaseUrl === null) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n } else {\n return url || \"/\";\n }\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs === ys) return true;\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return new Eq($foreign.eqArrayImpl(eq(dictEq)));\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 73, column 1 - line 73, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 52, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = new $$String(Control_Category.identity(Control_Category.categoryFn));\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"lmap\"] = lmap;\n exports[\"rmap\"] = rmap;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var Data_Eq = $PS[\"Data.Eq\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n var eqOrdering = new Data_Eq.Eq(function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n });\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $116 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($116) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 389, column 3 - line 389, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $120 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($120) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 402, column 3 - line 402, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n var elem = function (dictFoldable) {\n return function (dictEq) {\n var $204 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $205 = Data_Eq.eq(dictEq);\n return function ($206) {\n return $204($205($206));\n };\n };\n };\n var notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $207 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $208 = elem(dictFoldable)(dictEq)(x);\n return function ($209) {\n return $207($208($209));\n };\n };\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"notElem\"] = notElem;\n exports[\"find\"] = find;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\n };\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 48, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindEither = new Control_Bind.Bind(function () {\n return applyEither;\n }, either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }));\n var applicativeEither = new Control_Applicative.Applicative(function () {\n return applyEither;\n }, Right.create);\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $17 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($18) {\n return $17(Data_Either.Left.create($18));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $90 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($91) {\n return $90(Data_Either.Left.create($91));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, (function () {\n var $92 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($93) {\n return ExceptT($92(Data_Either.Right.create($93)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $102 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($103) {\n return ExceptT($102(Data_Either.Left.create($103)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n var mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n };\n exports[\"runExcept\"] = runExcept;\n exports[\"mapExcept\"] = mapExcept;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n };\n\n function isArray(a) {\n return Object.prototype.toString.call(a) === \"[object Array]\";\n }\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n\n exports.toArrayWithKey = toArrayWithKey;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortImpl = function (f) {\n return function (l) {\n return l.slice().sort(function (x, y) {\n return f(x)(y);\n });\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n };\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n }; \n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n }; \n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 143, column 3 - line 145, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n }; \n var sortBy = function (comp) {\n return function (xs) {\n var comp$prime = function (x) {\n return function (y) {\n var v = comp(x)(y);\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 702, column 15 - line 705, column 13): \" + [ v.constructor.name ]);\n };\n };\n return $foreign.sortImpl(comp$prime)(xs);\n };\n };\n var singleton = function (a) {\n return [ a ];\n };\n var $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"null\"] = $$null;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\n exports[\"delete\"] = $$delete;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"concat\"] = $foreign.concat;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.FoldableWithIndex\"] = $PS[\"Data.FoldableWithIndex\"] || {};\n var exports = $PS[\"Data.FoldableWithIndex\"];\n var FoldableWithIndex = function (Foldable0, foldMapWithIndex, foldlWithIndex, foldrWithIndex) {\n this.Foldable0 = Foldable0;\n this.foldMapWithIndex = foldMapWithIndex;\n this.foldlWithIndex = foldlWithIndex;\n this.foldrWithIndex = foldrWithIndex;\n };\n exports[\"FoldableWithIndex\"] = FoldableWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.FunctorWithIndex\"] = $PS[\"Data.FunctorWithIndex\"] || {};\n var exports = $PS[\"Data.FunctorWithIndex\"]; \n var FunctorWithIndex = function (Functor0, mapWithIndex) {\n this.Functor0 = Functor0;\n this.mapWithIndex = mapWithIndex;\n };\n exports[\"FunctorWithIndex\"] = FunctorWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"Traversable\"] = Traversable;\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"]; \n var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) {\n this.FoldableWithIndex1 = FoldableWithIndex1;\n this.FunctorWithIndex0 = FunctorWithIndex0;\n this.Traversable2 = Traversable2;\n this.traverseWithIndex = traverseWithIndex;\n };\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"TraversableWithIndex\"] = TraversableWithIndex;\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = $PS[\"Data.FoldableWithIndex\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = $PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = new Data_Functor.Functor(function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n });\n var functorWithIndexObject = new Data_FunctorWithIndex.FunctorWithIndex(function () {\n return functorObject;\n }, mapWithKey);\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }, function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n });\n var foldableWithIndexObject = new Data_FoldableWithIndex.FoldableWithIndex(function () {\n return foldableObject;\n }, function (dictMonoid) {\n return foldMap(dictMonoid);\n }, function (f) {\n return fold(Data_Function.flip(f));\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n });\n var traversableWithIndexObject = new Data_TraversableWithIndex.TraversableWithIndex(function () {\n return foldableWithIndexObject;\n }, function () {\n return functorWithIndexObject;\n }, function () {\n return traversableObject;\n }, function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n });\n var traversableObject = new Data_Traversable.Traversable(function () {\n return foldableObject;\n }, function () {\n return functorObject;\n }, function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n }, function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n });\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.toLower = function (s) {\n return s.toLowerCase();\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n };\n var showNumber = new Show($foreign.showNumberImpl);\n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 109, column 12 - line 111, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 155, column 1 - line 157, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n exports[\"null\"] = $foreign[\"null\"];\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n })();\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 397, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var launchAff_ = (function () {\n var $43 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($44) {\n return $43(launchAff($44));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return Canceler(Data_Function[\"const\"]($45($46)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $49 = Effect_Class.liftEffect(monadEffectAff);\n return function ($50) {\n return $49(k($50));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, (function () {\n var $53 = Control_Parallel_Class.parallel(parallelAff);\n var $54 = Control_Applicative.pure(applicativeAff);\n return function ($55) {\n return $53($54($55));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = (function () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\n })();\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readNumber = unsafeReadTagged(\"Number\");\n var readInt = function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $109 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($110) {\n return $109(Data_Int.fromNumber($110));\n };\n })();\n return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function[\"const\"](error))(fromNumber))(readNumber(value));\n };\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var XHRError = (function () {\n function XHRError(value0) {\n this.value0 = value0;\n };\n XHRError.create = function (value0) {\n return new XHRError(value0);\n };\n return XHRError;\n })();\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($47) {\n return Foreign.fail(Foreign.ForeignError.create($47));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($48) {\n return req.responseFormat.value0(parseJSON($48));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 237, column 18 - line 243, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 203, column 20 - line 218, column 69): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var ajaxRequest = function (v) {\n return {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: v,\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 184, column 9 - line 186, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left(new XHRError(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 182, column 86 - line 188, column 28): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 173, column 7 - line 177, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 169, column 3 - line 177, column 48): \" + [ req.content.constructor.name ]);\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var eqStatusCode = new Data_Eq.Eq(function (x) {\n return function (y) {\n return x === y;\n };\n });\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var DecodeJson = function (decodeJson) {\n this.decodeJson = decodeJson;\n }; \n var decodeJsonNumber = new DecodeJson(Data_Argonaut_Core.caseJsonNumber(new Data_Either.Left(\"Value is not a Number\"))(Data_Either.Right.create)); \n var decodeJson = function (dict) {\n return dict.decodeJson;\n }; \n var decodeJsonInt = new DecodeJson(Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an integer\"))(Data_Either.Right.create);\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeJson(decodeJsonNumber)));\n var decodeJObject = (function () {\n var $56 = Data_Maybe.maybe(new Data_Either.Left(\"Value is not an Object\"))(Data_Either.Right.create);\n return function ($57) {\n return $56(Data_Argonaut_Core.toObject($57));\n };\n })();\n var decodeForeignObject = function (dictDecodeJson) {\n return new DecodeJson((function () {\n var $83 = Data_Bifunctor.lmap(Data_Either.bifunctorEither)(function (v) {\n return \"Couldn't decode ForeignObject: \" + v;\n });\n var $84 = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)(Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decodeJson(dictDecodeJson)))(decodeJObject);\n return function ($85) {\n return $83($84($85));\n };\n })());\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n\n\n exports._toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \n }\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var RawHTML = function (x) {\n return x;\n };\n var toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n };\n var setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return function () {\n return $foreign[\"_closeWindow\"](win);\n };\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n exports[\"setFocus\"] = setFocus;\n exports[\"toLocaleDateString\"] = toLocaleDateString;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $87 = writeImpl(dictWriteForeign);\n return function ($88) {\n return Global_Unsafe.unsafeStringify($87($88));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $91 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($92) {\n return $91(Data_Nullable.toMaybe($92));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));\n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagcloudmode_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"expanded\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"mode\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"value\";\n }))(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_String_Common.split(\" \")(s));\n })(Foreign.readString(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Foldable.intercalate(Data_Foldable.foldableArray)(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 112, column 1 - line 112, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"shared\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\n var isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 102, column 1 - line 102, column 39): \" + [ v.constructor.name ]);\n };\n var eqTagCloudModeF = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n });\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n exports[\"tagcloudmode_wfI\"] = tagcloudmode_wfI;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 29, column 1 - line 31, column 25): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: input,\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.hasAttribute = function (ns, attr, el) {\n if (ns != null) {\n return el.hasAttributeNS(ns, attr);\n } else {\n return el.hasAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"hasAttribute\"] = $foreign.hasAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Halogen_VDom_Util.hasAttribute(Data_Nullable[\"null\"], key, el);\n if (v) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable[\"null\"], key, el);\n };\n var v1 = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v1 === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $56 = v11.value2 === v2.value2;\n if ($56) {\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 $65 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($65) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var ifElseA = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $44 = Data_Maybe.fromMaybe(\"\");\n return function ($45) {\n return $44(Data_Nullable.toMaybe($45));\n };\n })();\n var class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($46));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return Global_Unsafe.unsafeDecodeURIComponent($47($48));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $43 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($43) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"ifElseA\"] = ifElseA;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return Data_Maybe.Just.create(UEditField.create(f($19)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return Data_Maybe.Just.create(BEditField.create(f($67)));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(v.bm.bid > 0)(display_exists) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Applicative.when(Effect.applicativeEffect)(v.value0)(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $59 = {};\n for (var $60 in v1) {\n if ({}.hasOwnProperty.call(v1, $60)) {\n $59[$60] = v1[$60];\n };\n };\n $59.loading = true;\n return $59;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $64 = {};\n for (var $65 in v1) {\n if ({}.hasOwnProperty.call(v1, $65)) {\n $64[$65] = v1[$65];\n };\n };\n $64.loading = false;\n return $64;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($73) {\n return Data_Maybe.Just.create(BEditField.create(f($73)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($74) {\n return Data_Maybe.Just.create(BEditSubmit.create($74));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BLookupTitle.value);\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $69 = Data_String_Common[\"null\"](v.bm.title);\n if ($69) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $70 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($70) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)), Halogen_HTML_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_(notetextid(v.edit_note)), Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $25 = m - n < 1.0e-2;\n if ($25) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Foldable.notElem(Data_Foldable.foldableArray)(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modetop));\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb1));\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb2));\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb5));\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb10));\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new TChangeMode(modelb20));\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new TExpanded(!Model.isExpanded(v.mode)));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $41 = Model.isExpanded(v.mode);\n if ($41) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ])), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\n };\n return toArray([ ])(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)((function () {\n var $123 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($124) {\n return $123(v1.value1($124));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)((function () {\n var $176 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $177 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($178) {\n return $176($177($178));\n };\n })());\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (l) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (r) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(l)(r)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (next) {\n if (next instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(next.value0));\n };\n if (next instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(next.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ next.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (e) {\n if (e instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(e.value0))(Data_Maybe.Nothing.value);\n };\n if (e instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(e.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ e.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n }; \n var kill = function (error) {\n var $11 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $12 = Effect_AVar.kill(error);\n return function ($13) {\n return $11($12($13));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (subs) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n var v2 = v1.value0(sid);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v2)(function (v4) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions)))(function (subs) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(sid)))(v3.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(Halogen_Query_EventSource.finalize(v4.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (act) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions))))(function (subs) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(new Data_Maybe.Just(true)))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(act)))))(function () {\n return consumer;\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(done)))(v3.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v4.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $85 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $86 = evalM(render)(ref);\n return function ($87) {\n return $85($86($87));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = $PS[\"Effect.Aff.AVar\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $25 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($26) {\n return handleAff($25(Data_List.reverse($26)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $27 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $29 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($30) {\n return $29(Halogen_Query_EventSource.finalize($30));\n };\n })());\n return function ($28) {\n return handleAff($27($28));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $31 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($32) {\n return handleAff($31($32));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (inputVar) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var listenerId = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v) {\n return v + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(listenerId)(inputVar))(ref)();\n return listenerId;\n }))(function (listenerId) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(inputVar))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(listenerId))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(inputVar);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (listeners) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(listeners));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $33 = render(lchs);\n return function ($34) {\n return $33((function (v) {\n return v.selfRef;\n })($34));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $35 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($36) {\n return $35(slot.output($36));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Receive(slot.input, Data_Unit.unit))))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)((function () {\n var $37 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($38) {\n return $37(slot.output($38));\n };\n })())(slot.input)(slot.component)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 245, column 98): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($39) {\n return Data_Maybe.isJust(slot.get($39));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): \" + [ v.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $40 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $41 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $42 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($43) {\n return $40($41($42($43)));\n };\n })();\n var childHandler = (function () {\n var $44 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($45) {\n return $44(handler(Halogen_Query_Input.Action.create($45)));\n };\n })();\n var rendering = renderSpec.render(function ($46) {\n return handleAff(handler($46));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $47 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($48) {\n return handleAff($47(Data_List.reverse($48)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $21 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($21) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $49 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($50) {\n return Effect_Aff.launchAff_($49($50));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $51 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($52) {\n return $51((function (v1) {\n return v1.rendering;\n })($52));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (fresh) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var listeners = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)(rootHandler(listeners))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n subscribe: subscribe(fresh)(listeners),\n dispose: dispose(disposed)(lchs)(dsx)(listeners)\n });\n })(dsx)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $56 = v === v1;\n if ($56) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (k, ix, v1) {\n var res = build(v1.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && v.value1(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var npn = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(npn)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.js.map.gz b/static/js/app.min.js.map.gz index b19b5ac9c0ddf895df934ebb8c5e313d37af55a5..dd3c0093437ec6afac312640fefdc3026209e2c8 100644 GIT binary patch delta 242937 zcmV($K;yrjs}I4d4+kHM2nZjm$*~6`B!7cdVMB`$yM_)I%Q&rC^=F%LhfzcT@#p24 zuF>k}!9Lt-_gRj^kA-@oPK*&HPP|RX76JH3@c2Qh0VP{^>?6+sb$h{!;}<^EQGlP( zp;PlXCGIepV?C=%bM<;ABHn=vjutbSBPN)O%xaDq@d%N0VJn$~xziXA`*f%tO@Esv zaob_Tz*u`;(!}eGoCx2wH4+T!D^6nuzPo@2MpW|Co}$$h>)=dS?p)x2$)IZw_}k+kz~`a zV$ebAD^@#jzg2mg`KGx}~}TSNH!H2cF9=vj-BWpSXsnUw=gR)6B1?8d7)-qTQI z_GFgGyh==ag@ztwzP8C{+h{m}%+fMhYGUL;_K32^7G!?aKV@f=K#~y3m3R&rnLRUx zxeKep;=0E(ZjlS08s=-;JT>Db5Jp{-Mp%cB7NR}Z)L1uV>WMO;Q#0LLq%l4)2x$TB z9YQuah5D&y>57GF*?*u{qJDgRjn8W+=1@O%&6661ejM3HTSd<%PV8etAPhEJho7oR z^W?DXP`mNhmO(L_hS*h(FN=x*L1-qw6i42&q=5Ad0+E1t1QS<*K9@7rP+-=debq=p zw6_4i1uoq%_#t0?*=r=}whxs!Zp)GQ*^4SP_!PxgRuspWKz}^hr4pJ2IV+@Kp^2{l zEyCzK1MJDED^q8##3`Msa4I&OvOoU}oW+vr|WwFa45;e!NSWK>nVt?9DMUb#R z>TVEk{MdfPY(v0U$sY>wEHQKroJej@p#W!k@mMeghDZixL=k~53jPJXr9h+NhI zug|RQl&cRU!IND}V5ax|EWThT(?5}zf!G2`eDLGowW~8U+@ha>Q(+vJuaI`k>{eGZ z_0&xBpKb>Dv**BBIA6sAUolL<2B!dAsQf}fg@fB@;sUfS+Q8KWUy!|q^Zkuio;W%I-gtd|XX zTfr-3L8z{<(X}r@nl+ z8boX)seg^`z=tRfv>;v|BY|&f3BTXdM3Z)t3^KbB$bBVC$g_J0&(d12mMb^j8@)O& zHM>Xh^Twq6nN_}Ll(vX7tqd-K-5^-1f91UqQv}_GpbMYpanm* zL-j?-=pWQu*xfY?9$AYabS~UO%N11qijk79x1pTSdXC~gB?azetqY5tpr>% z@PDwyYNmf7l$8SNF)EZb1j*~hCOok|QuNk0sN4jGB7v${%LBi*XhQ10r(*sQ=C~`m zhNMLkZL4ny;+>2#CZ!gyKC1#hzJr9KJ}Zu;l^XV`m64XI(rB1A?Ne9iRXnq7blSo- ziDxbl1bqCwGZ_N0Bc)-T0FZskf_kcgFn?8ZVv4M2lxRpwm0Ax`f#nvMg=abK(3Dtt z@xEozyozYpF_4ROHPK6~`pc!qnCO`WyzJ#uhqT8uiS_6;%^7A1vN^6<7B>qnwO+ap_xmys{Empi=UCW<9iaxFg1o>>pavqhE zlVKdjo*ZuiUFEFkv|2`*?1mcN*ofX~- zkRjcp@>^|UdbBnnbat+(R51x8yrfVlEeB=&$Q@yh)y8ZNHADXS)$X5`Z+||(e#$i! z!#OK2S|*GsgkCDF>2f4lWWgau7HbBLd;?3{g9QFtk>pkMC7}fWZP|(_8%b=j1d@>_ zMj#KaJBtnnIpaZs^kh*!oBP#_%hJ#AP$OC7CybXZn<0He;I`v`&B%;~i-bMQD#2|J zTJ)hT7gWzP(E2Qzenn10W`7zL#Fz8pQD!eD_%-6j^uU7MBCq9O6UVe&i!;nW z1t8oTy6{soJJ0cIUIpbiCZvTKNW&$HsWI5sR{=IZUMyWA)ufe23aOfTY{iTZX_XXi z{T1iMe6VmYq}ui4Xn&g;xtD5E8nA5HfN{VwBy7bx4rg0c8nBgQPxUk=_UF{1YxD5^ z`0%q}P)Uv>E%HmzA`Oj$J(YXT0T+WTs72p_TDk`Zd!MyoBnT8gMP`&vHosVlFV<|9 zG9l;c66{!z5PM@^|A@&uk|ieWN&(49v29tPOU=1{ik!33?|($Lgkwe4htOFTGwOEO zdSYK~Z~ln){x09%&M5m`zP+ANHcOk6^`UK$z>1<0MH1q3Y*=ADa~RJY9zvkwuUYzv z!}7v$>0_jv=O{0_hv|hx(xp z-({4)^@{U&_b=3!g3zC{<-cXTy9T=7WteA{@$P1E<6Yxvw)k^y{Omu& zpB!gkdiwWkNvw%P&Byx}#T)ZU4{G zVq191c;X%Xnr14?@!lU)4IbRG6FS2L&leuzV-Gs>SbWJ+t~Cx-da%2;Ygs#eJzn2; z2c3|&vVXrisnwmx5+3bK7UT4dzWj^*`^Q80KMT(C|GPj}cFvLEBa6=7+I1YW^;k4V z25@-p@iPvPyh`wqG)Y*hYZ7NRab+JP=Q8I(wt3Ez3a?i~1L{H^(P{P^4ONB9QtiJd zXC4&2-eZ+Fdu)5R#~feqPjSHb+Mw5#Gu`WED}OXqo}mc3*`D=yv3@npj5O;)BTqBv zv_?igc~Z%yZN7AO5KCSS^dslC=f>57RwlUV#azqmX|T2_-*%=R3SS$~Os{=9=7WGg zZG+5`w%#06Z8|KpNt>gixxku13=8)T>Z z>VFmvk|B!BYmnul@2A)`ET`5+WQLJ8A}2f#e6y@l+gZ$)-fFZYH>82KK}0>T7{ynjH(tZn>p1M08w6iqDy^pU%h_1DE99Lbl< zv_JwNNID=pd`2UP&w=%dw3-OdR8Vnt)<41?@JNG9{`jfBdF1m^O0{k`m$F&EmE>uV zSoKyjW$g)xa{#I1B#ta$(;~AT?f4V2YnIPM3T=F@B{V-g1Cu)g%gUj-_Tp84A%BK$ zwI(GofxJt^cI5;d6D#~+mc+Im{k~X&JuYWdaQyWfz52&lq**kkSX;R9jK0A)yX0-| zft#!>ooAArC+1LNSI%)umo;MhrtgVYKOxg+J9(ym5}GhxAy?pY34h?(374zm zG%(8}Oz~pBn+;!9XusMl3C3;4gE%&euZQ~IKK!AU0R<;}i6_9CjdY>JP`fA&7E3gA zknxjQ!qifY;xy)u((E#~CpS{mA#KBB{^RyKeXKIO>z3)m=q1kvx9q@t*@_+FapD;m z`P=8kpa)=m!Ln-oT~|+FBY%>oX46E-*O1SM_9GxuDPQFpePF%6bRB)o95 z5G%3!$9RX6f|*$Lqj*70g>I~T@#)5OB)HPM@I#^*zPGTv8~;8^eD50Yc{DPIl^&i! zx^_HEi_&5x>Sn`k#VdHtXrn!Sh?}W#1LxKq<+PoE`Qwk`^>)AEe_ff z1Fz`xG?#EzcO0@&m5Df*VReK{%BNkZ}rlC|g_c=4{; z0VdcE`=M-lS~eYejh{?Q48~4x7LoX8y^qQCmU#S~KF5yc{LQhYIvHkEU>!%w8L*EH z!2%)?SHLHcSm!&tcYj95*!zSvxssXBlZ{GjTg5E%*6Y}h7mnhE|H)HigPF;0?$gLG ze-M>FV=R>1gRecS8P=cdSyTIJ3AcTX@Mx7>pmxeHu*GxR?tdg9=gX!O3)Nb`5;J}9 zl^s?*^Xg=Lr9J4{OK}g<3oT}Ku*^$>`$;^71osT7+443r7JtVgCM^cZjwCovJF4x0 zfD$%i)=4ZGRl`5BjuI3rp`VnJR{K!*EyQE6utX@zX!5rlN~|vIbR|hYdWHA`OZx@$ zh{Ho49FCYMdmZbcJW(8jmi)3F07iZ;lkKTk)!F zmP&l)6FO+AZb+Opw1e@@`17u$ED4Fng4Uj=mz&0Q!GAp7na`8xcY4BiB7H!DP5kWtod0*r)FDqmX|q+%ahaio^Z z&(9#E>3?yAae~Ti+~_Ueo^aqVuSc}D!J%o+Qb&IyAIkWeGuc(MTTZe4)`%0CYGWlt z=+FAM@@P@vlU-`3ZmQE#H@c|Cfp=^L*%?Z>ipwM0F_WfVE&dU3c!v->s~?tvB`idV zw5+ErFW^?jXcAk1l?g-Vs*r+KDzuA}+P8Ilynk!glnzYqVq@gMKxb*M%G7#CKu)oV ziS5A*?Rw*wT`#dSO5?R<5%Pl=MYHsT)FBm9kxq0>Cd>FHSo#=0(v1UIMv@sp+g`kv z2?cUP%#Nl3ql6e>Nm%Nb&mX)pSCw&UgNe$f2=fFRfE7!!wCim#)06ah+QeK|4u8d; zoqyJCf7($Go`tdR7;Q=@dMos!`LsGMgdqNURh2t0wzt4mni*?Y9{baS;n&y21VkyKJ87=BMlQyg%gNvQC!NGk?;u90torOGJlD#L{ZtOlz5`XN^V9OYK1k zT4mEx$~7mxX(nDRO^bN$6ALG6NhiWPB-U<1cV?xCL^!!hM$ImU$fyTf5MB5}SiX6x+W<+VP$5AAiW&Q*2M8e`PRP>Vg03K13M@VllIDy|Wl8kAJbBd6I4> z^gI?amS1Zas$wnMmZW8QyCmpv)*zw`Z44r=Rjg)R1yd6&;@%3aF)Wa;u{9B7RPD#B zPHbd>5c^}9k6crewGD?UlGzmPI%YeFsZ&#=|A1G!thoUdJj(e=0Wek~i{RT1*({bq zTC!uUPVIQFvMVr_)Pv_LvwyJ?-P@m}B$)`xkU-Z>!90!*nm@Re$gC!$zIwwJS3+4T z5tyIyAz#$&ebvc!@ULW~St9;w#8`<7zUhXOQP!rV^Cjf)T1IADU)C0#mAMtq7drEz z+^xB=XKLL(OBt7i->X)N&$94Iti9Ll;1y}N+XQka{QncM&O+J-Sbr>8XYwNRrQFPl z*%feq%O>-&d<~-J$Z%X0Q__I7!pQr~Jh?1c@g6fKmgDjWYoq6}Rl7-EqVwfCo5bZT zD#HlfuM&ry68&hI=6Hb~Ji;BTKjrIk;I(F;fBazfaf)d%#+Hag7L7_-N+!D{WO?Z^ zwjXp;Kh|Wz-9M|zM1L0kx;YSj)8_HwMdZ>xNr$66Ld!h4HzndXN}Nldk+Jnj!~7qF zwm;s#M3%&~G)b5(#Z_mHwk{-O1{)>8W^5D9e@T5v{DjUhW|{v+4Bw^!*&h{aQ!#x~ z%DV5_g<@YTW?c4b*C?C02c8+LV+fIB9G_!frAfz;%Qs7Mw|}#AFfGgfBr7c|IUcb_Fb37^UIiy1f)seN&7{Qp{CQB2FxZQzCdaE9i8V zS4s=ys|89T+Vp$YBA+mKdcHv4!%{C3I?#@{U0{F~)ozg13i(upmqoq<>1*mb0u(4J<~{eQ4rQeso%HV!bMS=2o;B_zxH z-G~66#SZ6M9IHpxc~UZx)3w};EL#3-E0CEqU5zh zv3|>|m+Yv#c>PYQ%T|1svv{DGv|Gjy;$T&^-+xziug(UE-v2i%z&mD(vV=W*;Tz~$ez@%PUd(zs9k}r& z6Kmh1j5rP7jcfO0Z(}ksHp`c$oewOT-VNN8ykJX7qqok|j6=Y_T4RIU+0$5RFFv(B z>wh{E)2W(s+K<7Z60eghKIz+-Q2GA9JBq~S`TbFB`j-Ap4~-%aqnMZip_&WJI3?6! z31aD+E~3tIHV6!Q?i#793Cr~5vta<7U#H=fQl7=0?BOB1@)(~(M94&>14l;Bl(*Bz zjuTkCwoLr1Gc#;N-Rb|g_Eg$+90OvV<$u-rT)8H7o^d(tANBdWBa-L$V`EF{w__ZB zf|pJx3d%%`V(lifgc(&u&ec+bpyK3~S(AlBI}q*O?%#iR#%%6poXcw%U1b8nnxbJR zdyZR9&kU>W*VJ|Pe_WFU|JTBj$hfVD`QpuUoGCn@Z)wI~vwsw4 z_O<2g(@oh4tT|uLrr@n1V1B$3y{pY<2KYndw9Y-(aB= zCH|aoZvHFma`;b~ez>;I!-f6n}_-px+$NPy9&jLnN_e}25d*!GwetSX9sEyusw-Ze5_Tjo_!%FCu9+qW;-`aYiLn-@b} zmece_&Z*Vz8|vFhzgXBJ@;Po)dCoZDwZ!(;0-O9&2C{F&o6O8Gp(Z<5Pq+?WbAC zbYo+V%(6?2$>z(l6PKOOX)yy#%R?>NzRA}=Z+2#yRgihiKB3Txk12~kkR<0*&v)0k zeLMncE_m}8hjc<*zz_L+`ow2q6G~uDB06AVf_cEP*Lu7v<}HR%ip$5(v6vx&DHEl| zN*e^&rz0u<@Z;M&pH@MRO2cStTr__vF6#Fe=$v$3Q>h3k2 z{pFu`FSc~?gAC%d|IUm!(m9rqK6WOY$F+#EfnSM_E&(Gcf@K-Lt}ZkH8qWOw2+2rn ze6>Sqb+KsvXeuW68DuQB%o4`eZ+x(3<5v7b!`Z>rP1&|NoPU;Bc<;KImhU2M7FGx~ zfD8$g2o|kts8Ay@zrH{;Vu{ZLPd*Rb__h*brz&wxUcxg}MlVk<=SYm(lYJPu@pntH z6Oxjxb!I*4CW%GRiqE)i0XrXXFS2+%9^YnQ0kZ6SsV&>?`b^9gea}qOSQMy3fk!j( zUaDx21fDO`tbgH>85E?rXFZE~TX?q0c1ydWcw-6Xp_V`)3*JQBxCHwV3P~(hzdhC{ z&t+MK%jK!&WR*a$KaI&&@^n-XUqbpvUXc)6iY%7TPOX_>cxw4;PZmfBW4x5Vk>%vX zN;~UYU3>PSuGOt;`aI3ZD`THcZe2NV32zbU199u8xPN&|Efg=|o17O1a$d30>O4(P z=*ntK1nhE{B)-@(gTxohlAQ<6aOkD>ssx82g3MT4Nv#cE5}UU3X_jTnWI79+<*A#^ zz;)wrXeT{K(6O{6F)kH0#(H^rscj}<{!TEOR>H7XAJ_nhn#<9cG(s?|ZH@ zICWFaG=CBo6Qnlk1XyCCbwWd&rH{_?faec*K~*(XbK+71xsqdN$SQ~WTo?1?Wsf5P z!-L_3Wu?{v*!&&9baZI%`-5ZuRm%eVrhfnXwXi1*UbdD6S^ZNMvzJ)VF~}z59*MhQ zYWlOlYf(7?-Xk?zK##5HzVDR|u}Bs<9dqMW?0>a>2ssmiVBmcAO8ne)@~6QO7POa| zVkZ{VtebJ(*%GN<;>4D|70F4l3U<1pMCnMaXAPfMCw~&82zT4LJh66)^+}M;h}2CF zc#mG4Sh(x#ESJPyTh9D8NX^Q@scC17EXY94#0MF=esCL@uH4?FjaykQ$~EjT>yk~W zoPUfKuWoGEq3dxe8zWL7cl`KTc6ck0oN1bu_RRz{FQ)@KoLGaA)og#d@o8(D&({5| z?wpJ?LRXw!KMk;oX(=IK$bLAI_e^|EtT&4_ZBh2_Q1vn9_0?JREkd96zSmp3JGL@< z+cKT{Zuew;v07f8tDf!N?QQXQ^e92dg@2e*IT)k$APvPIl2}5~Lw(VX9IWp3z>U8r zcP0B{wG}o^-jbWFK^KwNEz>%bSqXgCR(*YOQOxEGVwN)Mbxd3<$8CobSI8fMEGUjHw#+)vDi|kG zhhyrvI@g_4E%)>PPA@-Q*?6p*8-F*oN_5t*L_a@mKUFQGOKbJmtkCxRc$EX-8x4$s3O(Ypd5r_I6?M=Fj%sZjL}ZVHOU$nDNrE?<9OtJJYo?a*6lJZ#=@* zB{wVE(ep${&um9kE!G=B_4@Sk-|6UohP|~+$a-V@soggcvQyinh0bhaEld5)0j?!W z8_0_==CG*P<9&=BLZiw?+&*TF{@G_dBC|T~QePADXTs)jRLdN`I&pj4eX;AkIvcYX$CerL+_^Dts8-qJ@FxH(K?V#G2ec06tA8_}P=Cpci6fR-F#h`=Y-|6xs;m!*h#9=ZK9S(9tqm@}E@Z6! z%XPs(V)vZwi+@lCLR>LXy{wlWqqLVnK{QH7ag^b?(j>kWhm74V5^-GWzyFZ%F1G6_ zp$4lRE`cWg^M--P^^@G4vYe^qOk6z~dba;wL2l;j$;{k5eQ8XB+DIo^PcBfN8hx^? z8Nd20G7%B2T;RtqAhJ`K*q{?r$TUXx&pJR_p1vW{Vt*eJ+iQ)uqC%<%S?JV=w_8cJ z5u5qYRFK7YBq~VoJC@6`KAfr9PG>16v*?Lx$7?AkaZfXkRyT`J+S2~{z&X1D`i^l{ zJMfzA8G7LBaZ`IO`Fin?K}bS_f?j+Q(?pAjGD5++nH zj!g+HPJev;#8FIRL^}0z>}$foEURo{C$+cZwc^N<7?`E^i3qd@IfC!zE64K%$$Usd z(ucIIN0}UcT6HAZk(dx=VNi*`a)*%q-qZ{{hvn2!go-mLo2GBApSCaQh^4v-7T2~N zIaitkYW)V=W3LJC#whu9c%M2S9hpW$XK-)Eaeu7Zx^t2C|M?x;8EcP&Zs!ZxVsAo_ zvyzHU^Z#%8;HP@ZYDxW+<>FzFr)NR*_&| z5-eLviE-{q${#p0Pxg~5)7pZBAY=WIElJ@JHNx{Hu}WgEm7}k`r}?rfY-Cl8LpL(r zOn*VmksCr)8Wg>z9h3`txHL4Ej)DhEt~r1wJ@D6n{i;-{Wb2Y=hvYm z)`_i4jo=JLhd@$dWH2r9l9YCIX2Z8$@6$yahl^hAZPDF6EwCiKCYW3L6s2PL9XZos zI`EF1rpeGXfE~7vuA%;KEfkAL-RJ^r!B1B|Ha(&@_%lpJG*(^BOd9kk&m;T_jNsDE3;hFCmW9=(qHckUs zUC7k1!e=s}oJr3nD`a^lzMB@Zx_|L}W%?R8|Mg#vw>_mG{B?#Va}?ga2W9Jk%1`)M z1GqnWP)`JpDuWtF6CPhYXt51o>v+)nCKP+Y46hIo;Vo8!%FuwvXAc@~K;GwAs;EH} zdxgq;tW34mg2#6cW~rhY4qtE(9sscGK~L5$eWW_Dsb&e5Y+in7z*s-1BY#U5K=4c` zNoY23aS9Mpd$$N^Q-;y2<{Q|&dhEFX>b{FF3m1)MOM3fsal&@yn`&(CYPE?*!%D_e zT|D^(EWUA}mmUnxsT2`C5nm>*5B=U1ECed}TShqOkaCFC{u4i|&&>wTWf9U}99v%$ zAjF;#lp&C|p;xlSCT`7^n}53Lf{)Z$A7*9e1?GG3gy0LY-oLIq$6va(%k_I8B2Ve+ z@M{}~?!#jMqw@QNs$~WG0=bHkcEI-l+h;hF50Inp7BJn{nBu)saxszorm+H$3lTzf z39^(4H5C9tK+0|!mS5d1%=pxQfKucC3e8DhaAwjOn1B;ws?fS`S$5pd(VcD!*jn6$bkZXwq*Z8k- zBk(uxo_ZGhaJ@eE3V#L~xJ*3S^;F}q2Tj~P_PoA9H0Z0r;dmAj>1rkSi@N5ZdJkFZMe51c#ieux z|GXtNR6$5J9~c4(r`E0*BB9y?^smh0g34h{dRq@ibD0=Tv451Dj0!e^3*RGZ1`ZEI z&YJj4>2)}H>3`V8V7i6aTcJEq<0GJbr;d5Xv`KtnH^y#F<_a{9RbXVd>5s42z#HK? z?lp=HT6-;?aFt~R)fe*KJ602`K!GWY2qqEKeh2VS{ZPZ-6W<$s=#9n+h&rAFR(KJ# z=ofK4MmvJ*h<}g~>Zm>8)&!4ymwGgH4e1!VCkHE;Fcl~>N%gO3(Ibft$G91kTLgFy z=~o0JZ#({8ER6CFfEhh}LH@fE;k<|F55Gkp5ei6aNK9-P;5cz**6s+4Gzn4AyT?A% zear;J-G7gms!_2nZleHyT-G&s_D;PETteZwi-buJB!6_Gp?l#Aoc>+Q5})!Dl&n{<8X}l#DFN7?z-!^b zMW#`?1JgKr==ShDu_x*zF`Y} zAmaPiRT0G(AGSq)c~hJHCkh_XUz4Jd%lfdKyr)3{ z>E;mMs-psNXDc=QXRi6uw>2x-`tcn))rF{h-iJfaJs+QmM!|NpM}id%EZtI4%YU+H zY0edWX#*;3-HY^>E`3oIH66cnhHJmvLja=Y1GU8y96SD6tG! zec|4wTkN^iWG>cZ1#8;H#)JIs(w!f!uzllC zBbSDF%Hwzi4i6Av=}uhPznP1pS;ioZ5_=97vjGCv8v@yyyThXG47#2JOJo}gp&d>@ zwLlXHk)yd`g`cAW@P&?GUO|=7kEN^%A|+#N`Pe*{kwk4{^IV2;T)0yK1b?n$h7!9% zBdDXS>sSza=I9OA>jIW-nOVp31rm|+%8zBRMUfbcy*FOoYNLN5hWxL~k`p~Wi%P;7 zNn^QKkL@=Q8oc%2n1K|)D0jacz5~1;m%si;dcIb zUcg%8%a*#MIMF{@y%P!JrX_4m=xEN}6%Rlk3x}d?jf607m`+ebYdK|8m)1G9C31`vR7iksSfk3n*Nrz+u%tXIJ872EivZ4|5Ok$fznb3Y6_iv3rko7`kG*q0E}dKm~=2=#+rJDRLSh_yx~v z7etN;vYVAAs)^JVsn*Kgr}0-_X$w#z_s1^Ex|J3&O((c3kZ9YcZKZby_}cl4gd!-o zi?t0Rn<8fOz^(&syMG0AM4?;BP6>a(oqGrSC@f*_RTqiqUpI;epS#FXR*2%|V(kH@ zD`2dDza;_5)bOuLZwRCZVDh9Aah>{al5>T z^(%zsyLGogYP63uTFs{bdhi!yNmQX}8bnnp#4HT=7?lf+e1ELn2%xOi%E5MbL{PYj zLTZ;e2d2B6WAwTxr3lV>!IngNv-g;I419~^=fGRuA@VX{;0%cO_;$2kUTJ|~sq>(a zGkiH#rsY)bc`U;)wIinbI``JJ&`FfhP~&L|1*e7T5~PFU!XQ9Ro8tN|QP}=q4j3td zORVh|u(pr%0e{H+{Zy~;2gT^tMGwOXb#xz_xY)M{uzCt~JUMdCHoC(dDen#g)qJF< za~$G)Zqgtaa=i$Hvk*V^1K9yoTZMVK8-O%LFxYz=)F+g0{fth3!al3WZ%*Je_OBl! z(J&?=z`^}6W%f8L3h`;h;vou5)neLo=olN4ezpFJXn(O<*ozbs586K3goPLY}t5|GLN%0Il`SY?Dnd z;^OL)N`K(E9}d?91UpBDlykPHltIH@;#`1lSZ{NT%8;eI3i%Thy%y}0|A8xDMk<(F z=$ZFCx=ZIqw#<9R+&4r-=Ai9Wq~bFp`vq)T&wE!G%YB1z^6u20SN^)=RZ(YnM4%eI zt6E!%SGp)!mI+#&OMVh`fiKvzOXP;js2>9Yvws8ys%@_3oO?AV)*7sI(C_&7R!b)} zz4{mT4-Yg~@NbsRK)*=TJ?DyY&na={C-V8xyJ~FgiXkdyrX=|4&>6W)_Z&3EuLaOy zK09oRf?=Yet(+%I>y}hPGoURV8&9~(VF|U%D^ks&(h#LHwE<6xu{4co?`OV1wS9rK zO@BbU&WSj}&ieS2?8*i8VQ0Fcs=aWrVA!xr^A$g9MLs-JJ2~HUU|P8GzcB)T>t1P_ zQQO!E8qi~~$1TuS_t9VaU zC!d8fUG{NKeLRgXqibS?(KF-R)BKY6P{y7A8fUM0i zvTHB9Y#qw}rrqU%vK3gK*`FdO{C^O5lL3Jp?#IHKE$xn2Bg1mo2yKRjhOyd~eHyli;-t#$5yqv3_C#EYjx zWEYzMuyQn*GVriwdN&-kp6gaW4W~|8G!hi?Y%r7qxLbxO+^Gb_Og? zG^CC36-vC_qs0kWl4>6Kr90=QkOc9bZL}yP(Q_U)?{Mu70b9LCLl^uYZE=gg*a z=3hlUTD@0>MEpqph~{QqLF!hY-_OX9m_r@O)RnKu9Pvziq2p3*AAiDl+Go_KGh}_1 z1@af6UQJwLBLX|4=K*0q>>22^qeNx0`-FB>mA5MbX@P9~YD?>$mNZ$#Eqqx>L4pj< zpUATeRTd(2gqJ+zVZrcud3S^zrSaIdeU zmTwp8PL&nabI-I7pnn?OTaG$F?jlYGlIe{)SbMXOhM|^aF`{J&QS2UC_zapk@1aNT zU-8%A@jzyAdKrt;dppBPY2=FJ=|CE9l@!k141W@m?94%ec}41Bv41Q@~vI z*1e`F-WYP_J%8a^uIyb6tjhZVE`CZC_6vfGzjgnIi~k=k{$J4-=oV$$cT?g)hk6|IB>C644tXRoesV2l{Lkc>`AlKodf=t9wXL%03=j zB35}z+-3g`0Q$b-B6nIi@ZN!$@utMCbB**?nG`8k2%2GF%bz1S|59AK-^o07p9Q#E z&VQBL8pYuq0P~D1Zh!|pNLmAT%Uf6RdUCD?US%F73y0eGJ9Nh0i^$(_7GC2jJ-Otx zS0ULXLdr6CEzP>7DVf5Qcp#;Cr3K83XYZGYZYaRUdvFR`OWg8NIhoVB$*%tC~ z*qs$BtNRoz=5(qCf$;WZv6IeVpi3_(Cj6~yh$0^9D0t{HLlpPfo|%K7QhHn!V#Bao z6CNVem*?l2b6x2BqLWRh=QmHisAVk8U2HnnpjMF^RIgZD6p}MgTftHe z?o~@g^2IN64KR^rylS(@*rug5<57#u`#zm0-4!2W&^RwP4}r1Hhb9y-UY&fg@5M%U zQhZGrF9|zdZiNAy9n#?l3%kkU+<%67cMtn+NjtD1+IZ-YU#@DvI4v%{bv3-bohS3C zgu5%(V&JvGm^m=Pw!?MjGpMIA#@F-C=vYznz7I~_*mAlIA}3j}oIT?hE?}1YHTIz^N8MSLa$cNaDwWfS$HzHn-(&dhOL;f8^nWi)m7$+n z`aMz@oEA_yH1ug-tvLlcyI*0qK9-TJZlWP|6YD!vS$zRx;Li&Kdq&W|U&YQhf+BH_ zO2Y~{>H&?2`rZa0aaXFMT8_@v;Kb1xrN8jZ7bgRTtbH1$0#LY%udlDL_Pb%e|LemH z62ok%y?Ptk6+Gbng7v^#`G4OYt6&adWU1^-@3wKuzPYQU5yR|?WoLJ1`QL~C;eY=& z|LZurAiax6BwtsDRLF@0KGR+G^ zJG2NyNbebK0u{7Tba97~XwHr1P37x3;OfNy=~G-PV=4Q1E+*Wy0VWbWB1N%nP%M9rj2)Xo2nkky?tuYaC$xvOL7%*WD#EO2}B zUwg;jAxTQOS9=aw4INa0KKOiYTupmviE$zdQMQikmXvVkf5VsQ!krM^V-7`IQR<3A zIplamK|jJ%sc+=N|DyuUFisYc*MYIiD8c^9vnYn@-g`y{ECpRml!9}gUc6MO9TG8$ zN*jE8;5BG@mw5+I^ zuadB?acBW)?DF3JI%e#GlMzX4mq+XzPT9kO86#ivsP9_@F)oBB;so`;-SfHPvw|5L z0_D~_(du*cOL99Nk{*H`2+pkEzz$iUFcUksUl6cipMUVksJZdT?<9zU4@8dK3}`v$hyL1Qy=1qt+h80#v@o&FZbV>+O^vY6S&)%EjLkx+7LxZJwJT^*Z8VwejPh^{h<9fiFz7!{KE_kL)?_QRe>|InE7h6!#i>3NLm;eh^ioQ^}Em}IUq*e8GrClJM;t)Z3;2IJDWa(*O;MM`sok2vM$X2)@D8w% z8K&0nq9?O|0|*%4RXb^NP_jJGf6m`W?UvIp1Bl$ZoS6=KLX5cDrW36Tf5YfobH?5t zY!x18m&l0q+`KtXpyu)r?)iNeJ6eE4wi2~H459Rj<@`5P`@Iaj?_fmcn$5=M zz?r#IQV|l=^AFOR)pAyqRzI#EvYXuFtuLSTP4Mw6gFw6L~!Bn+d$HgjJ%$^OyfDR@96k~9y1lEKu*;s zIPO}}RCe-0i&_02E#^Pa!wrzm9iJ9=q z88$Gn%EpEdNi*AV$Qmj~pY zEKLDZ_l6Ef+}h}eE|k%fU#fyZ(ODwxVV-+FG`TkTH#lzB)#aMQwAvaPSqSD~%z3BdSS zEPa*)-;Ooy`P>5Z)<@L_MHY=#WPRQO8=^R}OZK9OjC4Ut%{hl_w%tS)1RMn6A4Fs5 z`?qdv^I7>dGd{280FZ03rO9aPX-pC zQnkl5oJAr?kMK&S3A|dkRG16;-OzukKj`WLqi}N63~FpmUsmwX zuK>5i{Ucx8Kj|NzI3;FAy0rRhh6)%aO4&_fh2()+IpGr~7H052Fj}=s6By z$&tQ^KF}8o_3qDI!+yp-cu!la3HDG2y>JCpCtot4>Jb{DAQYH;DID!z%~qq(3+3nr zhQ8rW3`>8+Mi3|{u6`3YAd0vTnH!FOTe$k&@lSCIB)jH@6Arz03R`8uc=k6@r2nR*5$kR3Bgp`pXvXc^7+if;&6;x76$j{hN|H?t>{4tb9+?bYIZ) z+bCs?J}KE<#UFcmua-LjgW{8oQjp{y*_~9Axk7)|j*?N2B9ARZRE1qNp~S0$Brsqt zn{Oba+Jg9ox1Qc<%~{nPv=cm8o$U=ehnCS|t@!3sGP?IjJqr4f{rx(1FsJ6UyW^D4 ze2tt$7e%XfAsy-(^(}83rq%Gh@9tb9qkV?)YkC|hkkjQtHTa<$oGZFf`oZk>V&Zzd ziXeYcg_W{uf^*ZdP|r1qfwR0L@rMpO)pYpGwpEta?I}&T3Lr~N$`F3G*h zOise+Ul{_>Af5#Ag`Mk^;}nOW6hc?&`8tT@dZmkRWD?vU6sF`Wz1_j&(wUBks)`19 zid>U9*wp42iK>*g5{wG$Vc5lqeMEafR>pr%h>@MwUX^$R2Bn5NAG<&EiRFjz96OIZ zHfZY4X-|6`qR-*XO^W4BIKe!?gDA93H8H36!ome?B=krpj!B4Fk^4^$X-eaaHJHdp zQ3OC8PJQa`$&CqZCteXP55@2TUF%-Ih|k!=kb=28^EKPy6aPp0`T9yE?u|aVVNdoa-W|3s#>)MH5Iy3nZF!qHiL6AC2 zCl0))Gr9%@`Vw@;b~8d3E8u;nWnv`lHumdrvRp4h#ZD@fmVO27BL#1EOhzEksDymA_i6jyJy2G22<0hk_jKq z`Kl9Bz%%*%&Q7Zcpa4x53wJeei~~jwjlD?zFxovwTW#hLutV(~}d;~|b zDW)(tTmk)=_pS^0B%{|Iud}-2LN(_F#ov}sL1HUtTMFI`qznO``d^;VGFjbMO7ps) z?Kp@g5zhbZ{oh}EWB2A>U>^BcWvn8)Ysn*-6_L>gxD?1W#^2nNe&(d$c#li$L#0>N zeE?bnoTfMDlTQ#swM6kwD|COg0@PqMG=Bw*6uz_7$E=hP_e{2f3PxS_s-*U+P-t_U z^ffdLM(;AhWlerQ8L&{b-(u_Cn+MxT@8b;a4GNxUrJq*NsSnrF(mkn&TJT&-dF(Q6 zFB%n$A_|1xDCgJhqE@mKy-Yn*fdc-76CnaAoJ;fp$C$Ssl5G)lesF)>oiU|ZTBmx} zqfdF)bXRfKbR$EBhCmbfiqvfA5uQ}$t~u%A55dC%5^eQrsXbWjVB`GZzkmgq-yzYc zgm{Ao%Gr+&vBv9)$gaTHIHhI1LcH_res#(b6eb?-fRG1cSj#+pj%2iegIS!3Y~4*d zUiZMHHw69|Y~f%jq$Ph2;uSlYsmY{JquvAM4Cr4;l-uKdH-##m8<}95_m-%|$6EZ# zgQX$^x2(T{KRzxVRI@pl^Xy(`T}FmOE}uuHT+XxQ{NVRRA|;T~Ep`Zso{O*;x{nqZ z8y7-yqcxT)Q+U-X(6T^4JW?(M#3unlm!T`ds~EX!foX6USXY1G&j|*PwwG|#9lG2g zQJCWJ@l;Rc{9fi-i?Q6`$oVENEE4!fbC;c=ugH>`6}%D)Z<8skh-3M{*?L92qyt-m zPv-W@HSB5L{nfUwdjbZKz#%wm2hOLD zLkxi)6de}A108>68g7j9U+@v4&4P-K7zXfXMV6~oBv!-M*}Wkf$izS%w97nZOY&OatRbHt~|7JziUf-3ac1 z!7CJn#*&T@LNnmteu;cSgw>%^1TQk|VwltqBm8@G3t@i?r@8a^7uo3`1-Fq`?J;|3-x_iK#^N*&xKuLpveL;)F`V)cw-P={TJy4K>=wWdOAsy)YqY& znaIhzPjmnq^gp*VV8adi-WP56b6zG;?Nuazfc^Cl1vpYZA&LUo>Yg?~oVg|#TIy4m zBJbtzu?;#^Uq&L>u}};bEMypk2Gr=^lKYxdJLTA|4Vb(W(xsiz-ED{mbZ1cQobP*q zKmZi1phlh<4dO-UG;{5WXCY8L2*(7fp)a@-;XQwI?>t*4wB?~SW$kiePq1bmoHn2n zv2QpVoHp`EDS(G2_PX?hE=gKoOcn21C(o$T4_WELLqT}tVyGc6r}HXFWQGCp(3e-i zh|@R3pCfMFR!E}b4bQ*!HaOk2Pu@Qv(`kjEVzKt8+Lx!NjNObJ(x>l< zHl2Ubp>eE{Ob9mk+cT`mxZk+x`2Oat9Xcb6}*=yPiQI9k`E~8y`3$1LEjxj zlsTevD0Z$r;fNE$>6TOXy_#s;w~ZHq^`jn2jTUrx;nFsm>Lo>bp5A+VQD#5yin6j=v4Yrpkje-@tx1uJ3rIYW!~8Af>M_F}~p3y%IX;@`Hwd z9cXb2Y4L}EaGef;)JQ%j82jVG`VIxI740DnZ4N~GM)z(Y=YktLo>D2FQaz)HP@nQD zp;3uCJAX>AGmHQR?6DV^eX4nZn?iqe9hm*<68EUSM@qT+-nFGwPvI0cs1U#GR+o zJ!WoQzE|~%?_q1HTW@S?E-5yfS0L@-Xb$M zKog%=qTRwvL4#OGet`hXbO-k^8ya96>EK?paUTqTY8P}J6mWkrRSh7sKu%qK`m0UK zPgGxNzaFimQbX~eh9>Cg?M2yYJhV2+X`QZ3FIqQ9|3!nT?mX56m^uPg8JSnRr1?Obl|>NE=@bX(U4K zNII!T`#c8)v|%GVv|epzy0G^HX)G2_tAZ|_Aa4-PQH_86m`w%&yYxBMY?7x))+c$A z?C6%dFMRXyUeRy|x-tL#vu5Vz87NkpdUk8*e_+PgVx_Hm)WNU{x4`VNlv~0bB%%sF zQpjtHhg=+tVcD1qx;RppH+5v&7OY5%%1*O~3{f3gf52!-mEijL>Jf9KmlBfP>^{J9 zPj&**K2m>#NA2h&;`B71gm&J!OQ*bF$94#PR(BJNHzXd-Rr`sA<^$OQCY|KbL%ELj;rip?0&B`JWadeJPf_{D#V~iCxuuxh}>Ok`Pae!VkABK9)&Buvgc^Rqt)ULu7#K zYtVmrkNJXa7mcN0n74~#3xYmqscx%!Z*pGG5bSE3eYR;gRZ7$OUY)T^Wcmv6Vki)L znna8>?T=@XZMjUY9uKEQ!i;koANdl6=LCNuxbV_}`!H0NjrVAA2RWC4`+*X1mtKY_ zJnVxJBGjgYN4Ixj9@)FgFbCFxo_l&{cj3244B*9f_cq!8=6_^7B-d=g=BD1yJnZmA zfjWFr$U*J(by4>h8K6s;lC6gf(5KpGk0ZYlRGlx4{KP^d&Smq7Al7zn7^QEIljeV@ z&uf_&nH=fXC1#z0CUK%L^z>O{%#IBBjUF;b=<1|419@nGoFX*q2^%F~|3=gTd)W!% z=h&oGoF}4p1DvQgJ5l2#ZKau<2@=)rlbVylgY;ZvK;|CK(TztcLbO`kW75j)Bkwc! zPjK2keY9IwE{d8{tEkcky0cCq7V&@W7!K6K*gsx*WBcY;rAK2$_B!6BcP89raQ(Lm z+#UI){qIj{`MX;aNp#1IFpcN=_v49mJ2oIW z(*J|wnR~Z)ATkt!Sv89@ZT^NceVTitqSer^+4^G#j{Ms*ip)ZrhnAna9m#*{SS5%5 zkQ^)6cGA2k==@=@Loy_F$x|C09?EpREgAYPdkU_xp5RZPV1sQP5~%+r?k<~Le0#SH z=Pv0XDlEysxXQ%$KcwhFIYAeqH^I{J9eiq2>{85GH5#2bD-kiHmE$?rQ(qrwmMN3l5%O#0+Qb;B7`_g|s&>6Z>%7=O# z^n&()v7Z7HJaO~hl)JEUoxVpN;@pXgKkvki=)^0w`&J+tMi#cU`-QCU7o4<)Ucro9 zx#NP~Es)RM;G}Kct(?hoc)2ZLOx%+~urHjH7Q zwo9di8UlkOc`rF_BZp4vkYK3ZMnpHCeNuV?!+eSILXf9pD<<=)d&I83s_7bxWqnT$ zFf8(umU4}1fcr1FiQB1fNY_f_G13kBJ9BDetuWqG99D4oK)Zj3iHaN$DDbYIL#&#~ zOgDj%4la`xH`An8C4FqzA<4}6vnD%q@E7(ck2WPkF7Yr}BahjqVtO`mUyq#Ng$O!g zT1dd5MOL4|m8~AD5^EOR`uhk}-3qB1w&i>IeFB@bf_}pi@(1~S0ET!a>s9RFrid$# zl8#Ma&s8kx?uCEW4;*{gppn1tZbjNBr|EpS_^w`P@m+HwNIU14HgzvJO*PfJe4(X~ ze=*xf_YBk4ZcgO;;(YrTO@W_@0N=cbg$X0A%8@RJT_GJh?EPyO1IzckARip%@{NX8 zJ$F%)jXLa1Cki^I?(P&WO6@`DP`6-6cAiV=TgZAkCE*_O?R=L zIuxp#fRukJ0bT(0V%g&B2R;m-*y7nAu*Hyu?1B?a1+N^gqc2Q-4qv5q>XUif48&!L4EJ3$sYZY z3=~|1S4~T1kvg?5_;^+mi1;D}iqk&;MGRFbkSz>a;p*GI@b?D!rx>jUc?}Ga&tjVs zq9lJgQ>^AI-PYmt3nekgs$Tvz^|B5%!FJjsJTkm=$FGzI{PqOX#_sghZWN1G+9;N< zdPmt6>cY13aV`{eWjfRUaE^#kzh(<%l2L9upM}%H)~FK{gkNb(*_l>=X?&%9Yx}DA zqg{a()6Hu_Q%gEhNq+RC?L_woMg8iZQI>zYlB)A1tt@B(*iv{~ zp$GKRyQS9?I+VOEXk-oON?vFOZ^;ah&b>f1S~b>dB0)WLm|D6hfn2$C|B|nO{OW%! z{TNh z9&LYx-X$^BA;L1d{S~MLD7r=K)HmG4(4{kSpKiZsI;t4B0qd`u7z5pG&u9g(tg79f zTXuVHT-1`=vo?PM3beSM5NJQVR6&1%P=7zb4|ERj18u<%?;dCoZ#33T-X3j|#EUxm zfT%|C^?0kpL#+;EtEWd>C2p}kjCR!6A4c@oWb$qoA>-Rwv-+wDIlo85nkW=Xf* z#dsM?e#O@+=mY9w_W%x&fg=NnCZgGBm}*vF5g9fkI(P7nZ-_`EmoTY*XXi-?7Eo73oxHmC8M-VL1Y1k={;^v!N1vp3pG<|5yM^DQ~83;L23Cg$C>Xk^2U zY(<5iT;Yz>tYPT9L7E+T+T?#6@ux`<$Z-*`+&V-A^oNC8A9G)d+>hzp4cJ8d zTZ&ZGe5Wv^^ios>J)`aI6f={Fj7ulHJ5- zQNS6QxBCau$xdSpeR4ym>4p%yi?X5s&kazBN;-@E+kTvp+b>Y^vG)O9CnIm-Ekz%0 zA%H39(7j<``!LTQESWOTMW2WpzC#}L(_QO|%NX^-4ugsWfL{GV5s>=>oiH|jFuyxS zF27o+=(Sbt4pM(SpH(Jd-@QQ8sa>|LLbzX&n{ZqKT;V%EJ4Vf0f$a$Oyxz0;LMq>d zJHq3p96mSLQ@D@`gf)1_C_z0pn3GnG{XdwF(or6m#qmKpDhh!8q;MDxOik4-=k1|?=?T_w?Vh#-ThIfEdPt6{YKOWN2$KQ7E_66%am0zw z245F6hJ3JPShC<-x+4xxV78%GgksJ(scP-H_wHrGwQHePA$L`Qsof%KCh;7vM__JS zRW{}y$MSy{P-)5eL)*90AO+eJ0ByJL&fhJ|G-0$AX1a_*9cgBGn7yv#kcXf3>89v#J< zzv1Nki4(kXcO}cjJK#6H+h zNiwfhvJxS>0U3MZvo@~f_b5O5#&_vzV#?{H7sgO~=&2am$Y zTzgljqUaUYK;p}DW*yon=)nClE>%KT90%YtymX0gc7yftb^SNI2Qsz(=Lr6Zdr`8p zxOIOoiMrY4Uh`7jn|%oN^2;B@*6n;V(i9 z^YR5wzE(w_AaNSHyMS1m8J)?%Xgzs4j9q`u$4ZcmVd#>2%lm?lAIriWI?r_zTD1qs zd@RWid_{r&fHpL*y>(lx{}X`8j@JK|7hE4-|9`yqMx9Ma=%l{i-EBjIX=*`UmaMVi z0vGJ5XXp8jR_5f1)d>|AJ|eT)NnN>t;k@A@X$8ysqy7KmBP)u2g@kOoQ0{(TA+3KL zJ09>S4QY)i;!+T*iOL#Pz16g80`EIu)kJ09NUA12EHzsBx+Vy!gKt$p)%r7UrA>3a zDc1J7^?98o+uVpYVV_8}ITs|5g6cz6aPg~)uT?;@`iDNq(?sFTG~3>h3GNG9U%UHc z$XoB}E16V5v)?`SsJ%}0NFKzZdLMsm7Ym72BgLJ1koXLn#0(a_AP#43A`UsZ0?sjU z?_O|X8&Lcb6E93@v-zBBj~%PF$J@QU2imghYHvR+iLZ36AAjwtul-Pb9njaI2zPW? z<$tDFfXf3cK+P%lL%rQYxcx|Ux0BIb>75NL zcxc6cUQ-qrMqvUB>-u-VaO#ai;Dh~`Tj9T<+E=t7)5!jPh5Jo-VA+t*a3{T5&%|nN z?+&gF0MD7Ps|q0~5x!Po`s+hidz}COt>Qh*9^ZdZDO`UnWe@T{tn8<7VChZf;?O2@ zE;pI|u}$XO*EPW=b8a@7nfHIZWfsmzV0A*NEPsD*=zp{H{hi1ho0>G!Q6)!);+A5xwtwegU4!W+k_XrtGmvi*+DmsGq%+Mq*eL(bQA zwq9Eh=dCNL^F(eJZAJg4a=Y00;ww4~I&syUK77?3n!J(o%zA-NLYSl23lFn9 z+d5fE9tz}tOmRDw?(B}#vlj=5PS>fAi(8|Ic!;%EI8^(g+S<<8y#}V}Gk#h+t=wI7 zY)}G{{v|WKxug6h0dHdE!?@=nq*xh9uV3iH5-NDo)7C>ZMSy?7FA=veQW&@f;BqTd zboxx+TMVu58!b%aMDJUik=m!|_5L6B+I#4u?ypP&5cm2nY1Xh{SC?0Jz0aar8+Pk2sxTL8-j(_RyDewNl!q1!O5@jWc6 z%7gd&3UZ=?v%gcpg{a^>y8`lZ9HzXY@*LD5OKEJk!x?|B&GK~#-7T*m{$nuo6ybu8 z3;K9VA8#<;+|XOnM+#|MKBbQs=UpMjuuD`7%#bHYb^GpV$ENkVl-3vd2ArnLqVL!U zUh;J6@yZMO4@Wl_gFtkM9*KH3KD?&wHLnm)HH{$?q*y(78d*%5yEDEl+9)a`4x*+N zm1*;}zW9I0C$&by>L9V9m#NUt*C6~4D3)<|Bja64BRmjtY#WWlfGBk*$h&w5o!vdn z&7Aw@g!XveiJsgHf1K5l&eh&l;Cc(|&y zIKgfR=YQc*10ahZSBjq3t^oMm-mUYtEyfIl1n_&ouf z+=S~lh)b_gsvB$W##L4~Zn+zatZpoeJ?;i7oFi87SdL`?x)gxcqs&`kvGEq)sXK~rsh z^`?K;FXV-{>KArx?(R+3)WZ41#I3s%V>sh64(^5MV!Ww9vSN!Xc6Hi%3 zs($nmthN76_(p2^D8;{@gZ$!ar$cldxJ!Sa_uwvp&QpqqGY~PF$_Us8yhXty6UdU* zrrNk*iBIncGzFlBx5RBMsAB0nGDq^|uRtU%eZcaF3Iw;A%ePr$OMAc_Jkx)zV`?Zd z>=s!%+%+Pn)pv#Hl1mRAgA0s`Zx!kpk}W2r$f6er>PM_YudEvqqBR||0ZCS2*hYUy z6R&i`8XAOiE}EDVg+MX}8sytTKKf^~mh~yELtZE`oxFFLE%s-z!zWi16U@r)aESvQ zoV}_icDu_Y)iS~E?2#FYwNJwvy9;}y)~{mjL_QqR*p0cs)3Pb%k;p~%U`Z`@JRxI% znRfCoI{Goc`^}++ee~ZtXgf@mc8`A-j61DMiYzJO!SCE5#ff)Ae1DqoAkD_y$u7Ll`w{Oyp!L7aHw zlHCf21v0QN3M*Lp#cOcD_Y|i^`b)E-Do%v7?u~-1H}I5K>)NG|oApoRbzXnTW?xLcGTNu;%6fg!URlj6Yw*^Wa z`Bd;3X6@8(AnR2WY5M@vRwX|3jbW#^A>K=Q71Gguimdc_N5`V4teWLpujhd68~3)n zYY`6s+S4oK3)b#6^97)_>0y6(<*D2MuxTe)uZ!8smob029)oorxT0gz%2ayr+s-(&u;sJYG9ia%kC-6at5rr>K7gdBBgOyX058 z3--t&V8_BsbUPTr4R0{Bh2O0mRJJ;&9>uqr6|P}vgwxV_L<%wJPTt+S$^H=gWtLOu z6zA?I(5T>kN>S&}!I$#pZs%@UxP)bPhI2l2a~~Qxrfx;di#Q-ZPwt#_p!4bM-ZGJ3 z4#$0d>IzfM40t}^;ii8Dym90muR7sFEy)I+M#52}LLvxio$qQCIAQF^>b&;O$Uf00 zi<3Tm6z6|tVTw)BqG(ykRX8~jai;fp>z(2s$yHdcRoH>)6XYPR63O|Hs=Z0B@`8r+|uSk@u!W*$56X_EBL(H5h*hS262*e{p9^`VSa_N#2%sasNFwBFQn-;c(}mLyk;IW{IqgOz^4~k{Bbs&!o&CJx zY0oF8{XDSKj(#_vxI-Lu8&+f_der{-J;Sr~b|VIQGI=o1m&JXw|Jv{1s zWwvRvyrZ2j-R7rgv%F5V*|BYs!yVM5+9db8DzId)Pac5|bCK9D!xa$y&kO1MCKchK zg<<}sMU{Vma7*iC10m&=d=*>DCz(ac*9dk0#?vM1cw-5ib3O(Z0#)1JkqD&Z2?(6dRwFnb6sKp;@5yt;Oi|_?h$*az#2YpPE zKBEjnIfg&e8;BwOBfY`)ALtGK)-eB2Q}C~hvk89@Nl=1gG@T=F`j*^HkB3`XpjSz? zFGoY}O%zY%O}L=6SCly?guvegU-{iozZ-mI8;xi?qBDtfeIo@ur5kvpABvK`zHsyV zDv*r8Yyt(e=oc}Nf<9A3hx6+8kiiz=I4=AxKqjeLzZ?f?9c~}YfN7Gn<)S!rvD{J0 z_V<6mt1xL9EfBoq`@g(rKBmmJ*HhO>-hqyRGA<`pR~GZeRPX>)h_;R0xF0GNnF>+g zgo{PtaOlp_0@L$k1eq~MkU66WGN)de#rpH(J3&4~#)l2a zO=zA*b%8{o^_Lh!49nuuU3EcA#&jtO+ZTV{((NK`s^{SST;D#7&bfE=VxzhY3#(9c zuc~+c8eDP0{(;~}caCDK;$tqf{0e%cOG=%(d7TPotP@I|yQfyx%?BjwQgD~&g;0h! zndYGfJ+U&V%yDw=0yQ2t?o~N3W<87w)z01f9(rQ1*Xo zcc`OmnMWie>7XGgy5Nt4^mH?bVh5|IvejO3&@P zTRZAK=l`T63PPMa5`>tJ76x#jR@Q&B=6b#;sg<}j!`!yo@e=hcR6RLePw2d}?>u?( zier95w0u7Fa3M8;Jl;Kn$QGWtbdfX@i`o}jh`M;aSeN{T@JjW1o|IAd&~(38B<1ZD zlDt~RzhFJU77b$iw2p50j>kE<+ z5&$Y+uz8n8;9%k{@8Asn-o+!xGcUNP9YwakVe!pIwzPCL@+@MNouNlFb3=30rc?Z` zcCl>n^$gxeGFE#}iB5Sv!GZHeaOqK4KB4FuCT|g;1KlfmSRzLhnC@6>;6(*_H&5;b z9+{w*-T=wVC#fg~q!#m}0{ee>HR}RZvnq&cMqJHQRAX$M1G?C(2-ITgonk$c!iX-= zf`E^;b#Xi}1oo8AhcE~PjwcVmt;uvdalhMlGHEZNn;2A$j68J`W6tZc?+dyT^De9F z7brqZ3+HuGWsgBNyL7MpYZFCx%gSRO#QT5GAXXH3^xh6)$%9z%AeMhTh)){C&K<(S zzf|k$xTiAFZGJg{yV-ChFSCjG&Ea+R2fBOaA2@|u(JX_| ze~>(0?4ae18{_|G*vWs_Cm^!d%mrS8*|O#Y{eW%)>so$EM#Cc4t+L^0=dQ2-PFx6+ z1qU$Ims(p$>>a#@&BY@JbYOs;p>54{ouFh2$DntzNdAH3oM1$LJA$$6(4z3ayC{}S zl@?5u=w`!L6l|u20l7=kO>k+tg!_?ajS#UDXdx+t<2%whh**E65RaxtdtQQg_4fTI zz@XrB{AS4aFe@M!3o9URO>p-!6Y`Oqkg;~Avoq3*T^0Uphi|uRwKCTQVtU)JsAk1& zv;~r8 ztY?&*cXK*vTHEGhjyfRwpZ7qVMtwXCg17gyEVyQ!s6El-ebmx*VPt z1nG(@+a3YwmOx6e^&UP1Na=iA-%DfX;5`A-tq%(ESuuZ@*ZH7!_A-uh--_eh-s6U5kdC;s0%TapCeybmHSWW$Aex|d zRmAcAhIQ;(FA-nWL$6m6?PFzhM|0X`cPm%}P^m%fXAeX}LSuuGl=c>6qeSifYNGbH zlhfKF}zx$3(eI)XHPva@3kwM0w+H+br;6RL3dT_T8oBl^mK?G`OZQygz6fikfLc!VDRe43_mqrQ=dzfND`I{t>EAK3gL5Cd zfOpT_J48>epk_sIfTTW9;P_AXh629dVuuu=1LFID1vc&pek-58@V+9y^~jB@kFEK* zZ>{0fMFl$o139CspLZc`CwIhL4yfD^%awmd^fm@}|1Cs@!8k4xI?5ztyXtU)FoIm_ zd=XE@Xzbbmg-fJkI$#YP242aVX=zGBy;H6qv6nqOQuWw>g8jKm8{r9xC_x{zBnm<+ zR7v}5Xq^i{NNn)hcvw9ef)c(=$q%_UBO?P}$2;fLg-%83>yh|YdsZxXqC4ektFeD8 zukMDf?=bhRd*dA*PoKQz&K_|*pt`XGV(m|ugE50r!Hgl$zQFz`-7JJzf~TI12^l<* zcv<_D9V`4F>lpe36j6B)#X9+x)yc21YYnN>SQK6~CU^<;#`$9+;To~%-tH_;SA;J$DO=$_Y-%q;tqc$qX-9bj{~W(jTB)M^u;Y8&Udl$j1Gg5Uw1_A z@%KaYhipte?xL#v!$yc}Dh|F--Ft8Q;672xQ?{Lj23iKVF}qSf9HdF(R{S3TXYz|3j@e5w#8bsoK^A<{6`tPhvpnCo?X zadMS!yCF%+iLQ~g_LnF_*#$7?u`DKHmo3uXe0V6gDYYmGMlX9C%?>e`g1#!kMnI-I z>AoKp{Z8G|;n|qbY|yPYTbj!XIf{|~PLB=2K_<*;IHG@N`2nwYwP!s| z$_5_h;LNtka4#4LG^t|B`2z#NhtJ^*wye)3S#5_*`&zL=kcMR37#C7e_8Qu2Y zr`2#LFKoY|=V3u21vzkq^bI0A;)O+gjr+7pya(M`Ll?Nenfu#epSY!6cJO2&)=usc zbnlZ~#>ll*+N$!}(&c}RdNaX=Kyu-(F12k|@R7C9EUS&QO%fBzc0|jNa^zfjgEhHo z(AEJ*vZJw^XU0;l``tLT?r-SopXeL< zL90cysy4!$i>c3$cji8c0Hjm8!#1UYxJauYL=$Arrki(titJfi5)a24a1V~n54^2+ z%|T7-~Ru_8Jf^2n$4Bg?B`=L-WEXr~RF~xRV)6lriB(4)?ygt0&R14F|Fu z@`(lR8i9Z3+9k*2h3*=Hr*T`*Sk!_Exx`hl^zq{Gl^^7u)4GVZ635L|u*9V@nWbp7 z3T{g`=iNMOG75$FDA?o$hMZLrOihyQNxsjY5(yVjLjb5;ES*&nJi-$l7ORa>#R8M% zRR>QtQ;p85__x2r2 zU=&mka~e(`ysiVhc>qT>bu+*!;`#0>FxX{~D~z^liR>BUW7hA7OHaNqBty2p(x=JPNT$Uxr4~6ALXCL2a608Jj^niAs|nQFJj%+5b*>?a>`^u| zGsytnijh+q!4?hL(z|1}T5gL_S=v{fb(~?Id|;Mueco;H)`$oAAIb z;vs>(yQN9!)e%SocPJ)d$&=8FPr?OH!X`EeW1fUfY!a4%nS`42aQMz)P#BjLrO=sK z?T@c>_Y{MJyTR`Goc$^LnV7IPTyBzOyt=|^=w3g`#BYau$U=c^?llWBZWsk_pA3Ii zZM?O6!ckms>5~rMs4;vDQv5`=NZhN^b4fBpRNuKE^gWTBw4<{+&r+HvFW$hi zgCsNa@G)gVCQGoxS5LhQ+|%l3kANwav%)Q|ht6k%4s_mP8!Q*HB}fVDxBg}%)Eg}T zwfC?Vmup*?BF}W}VnotY`d4)u08yoZ1`8M^pc0>jT;W!)w#d14>BRUY;?jQ`o@?ZL zZFaPz1VBT@b6&XlCn{Wbo@;{1?@TnL1APxdc}wtlHu{dCi@?~py()>~f`^uJG=;qL zKcUJJdImlN^ICsf&x}*P>wEYUK}_?rA+K%%@plTKo}N zneJ!U?^>R~Bt5s|yerk1JU)M+GZmAW))|@Z5}9Pk%ctL;FQ_}gx-@zs31JRPY~x*f zdeSP2f8cu|QGwMt2ZrOljbx^Ezaj;yJzNZN3J|0R4+B)6e57^)%6RqU_OD_4kW}2;Ij&A52}Cj??@5VV2%vg z9p~-l5g7?L2a%i~Njpo2?yuavdm&;J^`0%FgRQxsSBKN&PbW1n2VA(PV>k7!_ekIR z6E{`mb&;x^R#TtwfHnARKc#B?f*Nm&XvID$23sMUWbA$vNt9pCT@Wmh|0>w;l^59c zAK0Pg42Rz2D`xm?8%}@c+AlF90ZLnBE#5S1VZBGxCa4p;`pBa&*{SRo}Fdy46ZbLrm8>M6!w22K@Y?KOha$Keje)3wZmoLEN%XQ8P^nG{brl_@6oqGnM8Z{4eC;O_@N$Rt z;|*+l@4nD_l4nSC+e1vK3VyqMLuoX@hzI*8!H&a5`(eLb3&*E$fPC5Au!-~+eGYw6 zEtF62Soy7MOXh@zuRJ4t_=qYPAF9B~xw$uFl|16H#aH-;w(G)wfi_|-O{k^mKWNEW z7bweR;b3R>z)c2aVU(|7`{c}f>&`pG?c%&w_$Uug0iFi%=3W+{X4L&TcE7b~iaEu$ zF5HVZQoem*X9Cj8oT6nm7#FVS?jO45?3Vg_3SOia9-tkB9t#v7$hOehe@uVy2fl;Z z_Zws%WY4}k2q~w3@aAZet+_Fxf3$rRimB~w*hta8Q98+srJ%zJaVvt4>BM3(J;Oa% z6sv9`j#$6a`MIHR)fgM(z*j#ke#Seb6z}w<@&t9UAu7)63>$k35o>$ z;YzIMI-jLm^mi^9MfA(Itzy0$Ce6`{{tVw!q?Kt7vvIK0tET3Q@R-daJ7 zR5^2!^ZEg@e3O9Y4;`@7#z@gsA$=3k^pyOwjfN~B z(j6*ucHO<03pc}?IlCF&>QvGMo#5--Lsihi3$9;}?yY}(maSp$;8yGAiFKEwg-hdL zY!JGfVNo-GTvqR-CS0SN^^-u?{X<$Goh@+6*Y0v*eVFf<<6D?`{}w}gO=$CN%(o&= z-_lH)@c^SBN_csQ7Dj?6qIj!?u#)bZNx7<>*tAA+7i&7cFJc;Nha|l6K+$H^)Z38b zL0=RlPr(cZ`LV&KwL5reqbQ&+H7D*ka}F07#B33NW7BXwAhD^DUrhg*J_!DO^{n2i z$iCNt`P)$(`^kPjx8123NfedeM|ay~MXmH{UcX7Y-F=XyLA!v~sVT78iEz4ZhWH znOm=aq0QoshHjCm$&9`#E`W1s(j~2IqX2I$1$p63P->p${84Sv_=XQ*cckxCI*G$R%?I z&ED4Sz0g)NhIQU|m!4SD57%->Sk#Pzcn9x)Rn}}I9Tp!W2&yBXOMW3l8Zbw%Sbv89 ziqy}_430kB2egfkW|~i;I$!E1L>{?g$tb2 zAsp#Kc#=AHULZB?ra(Hq$`I7I;k8fn;*20i3aAa7*CLh+k97GKEp?y@)MyrESYH5M zXhO&nbmJgeBOYos{RQwBz$;mR{;OcPr1)JcAD8YmEF)*`6Hq>V0?N*3-L;>8yO-3K z_Au1EYbTvOn<55TD?~@6QBxrA+6R;R3 z@8%qko6FPRU6=B>aGIG``R24VZ#+62bbyxz!zpF_EIi7Y-4HW_1l1WAFA498c#ng# z4EHE8oQJ1w_Bzks@jBl<(e{{s9q#&+LUqk*sLk>wV3RCw3gFTfu6+`fIi{9Nw4v{s zgGjgDP3l-tDjLg_X5viPcm^&yyVU7WXbv>s;A`XMaLCu*87lH`3e#uGoxUT-8xpg2 zMpwA0o!Q!$mW)JIUVMaxd2dK@=6q5#UHAeO=per|ZuDO)(Ha0U1UYYiypqaeY({ZU z{UxWioZBE~3|qo+JKHacZ`ZtX(U3s#kZ;`)sVtT+$5u`)zE$=}N%|m+#v$=u9)``^ zx@+0hn+13ER)`&ngE?8U8}6wd0>%3m%B!Vf5oGiW0E6#;G?o% zVPbjfAa!=LA-j8VfaZ=093c#E_!7q$8#nhSWC9tvdz#Np6;FQk=xo^(CaktBtZ;8` zLIqXgPj)j+ZTN4!2AG-cJy{D5|aD=x? ziku#Ca{s}ua}Nlze`f@3^%mK#gYw~Q#ma}AUMPIVam8mD_c|R9>1mq}+`TgQ#;lpx zW}J;{I}Kwq5l0sTeRMH&9_NLx_r$R#GQ5>@2+B2V6dst|?anl%gJgZ82zaBEPl1;! zIU+XxWDzSsOWogpzz*|>bM(r@BS@{@zj5(#V$DL@M=Ih&xE67LO2iXhuvm>c=lgL7+>8doAh%NV#!qI z$O)(JH3s^s_15B~(luX6A0tx>Pz(kyeDG+n7EbxMsa3jtNsaa54naS{voBk?XWml- z3x+L1;p0aV|9DqO;?;q@Ahdd&$SD!IoGi(mfCHsRcr-ImL!auM3?mO{Q{4-lfxca( zx4A8Ba}dRUob>Y;?m*j&F&f#e+g}ThM*ltpLeLIQ-xDb4)5UM2HF8cXwA(iK z?yyau(~52N*rWh%g`GQU1Izn7!q60rHl8YdIwdjSDMcet>6@StMBeaR2}k7nJ#Bb( zo-ssn&pkjKQ21=|BLD{#Uv9<(LQd~JHh-A(UC*n3aB1dQ4ZXyAS)S>fJ8epOF+nK-4C>tY^2z2~!M4gMzP< zt>620Okcb-R!Ks1X)LXh{Q;dBnVRbRHx2yo4gJsB;W?pxnNB|Is5Mu_!aM*&nuimP zC=$?r$>)jUpHc3I<>4c4mGgYDJ8|zVdU-?D%Z2xfJbWQf+N~0%?)(#Q@aT}{x!=?@ z%br>rh0LYj+6nY_?nZca8Yd&F1+)Xj7)gh zxl`FgU^2g7Ob6RMcD-)h33G(um$a5-fC4(}`iknGQ#Yq69jtl4tg(m3(kEW9sr_|i zn>}BP^U%2!lPI}2Er8YpFKas3f4O$q2^0!kP=RZAQIKL>K^IiS`+n26M;D#)mW0uN zGKX;Ujd58eJYlrWW^l>3Q?}R?qfcR>DdOPCE0dc&RuN;f_57{$cBPU&ZtShn#9zE= zA8RndpkeY&T>Xfs7STl4FJF-oK>Rgm2{V*rhVxg|M%ec*^h|+8ccCyU zJxiO?8E_|I-#yitfvOKMPOy?#hnv`c28wS(H^-L*-?op^%fDfi&WaK?Ldx>fnA%8RE*=J^Mz2ybN-9C8SaX!kI2l`4gw zhy_zmR1uxZDo&`1XRHDMR(bqJ6>tF5RM8t|S8;qGLs`XOm_3mAJ@JVuDq~rH#fYkS z!zzGDs61x`c~4YPp2{jFRK*Kc0bF~94%!``)VZu;Hq4$>)JByKR8e2bDi%})dP3fV zUb&)IqpITWKoxjE-BhunDn76Z5N9gy-+;wdRDKm>}3^Sf2)d| ztm5oI6~|HQLRNA9w@@oDtGG;mg0t}?Z`UQR?9LuFCPVt#lVS0Z(bBirHyppZdlO&3 zomwv5@zx z#Kx?)#P5yK5IBY_Z6!+uVd}>^smxJ*%R?P+2*7t234SPcZRZJ?KAzFVru{oL_un{p zws}VeXZtP~oIi2|!Ghi0y8#fmVf@qEW4`a5@%8?DW@9>%+x+N%J6sb$evPsYAN+s+ z-ogJXuuSp6|7boH5sqTl)1YEMdGeoZ0HWClf^lH#GtBkGr@f1=8X)!)eHP{g_V1f> zfQc)J%Ich<0%B0ux?njP7B>9;bSI$FFLcNjOY83m)ibCtC^|U(3m0#>UAh=F1=xJQ zDm<^*Q*!rCx=W3Jxk%rU_|;FbqgDjQ%SD`;O|IY~5g)y43aPOm%O1+U5#Ok$0bi=jiTBM<|J$oZCX+-M9+~CD?MV-3ylyiGgt*WWwk?hymvkCdAvL zfs-R^2CTcQuL^||-E)@X188J#%2Syaz)S36WhDPRoeEM1MtBh4yq@A@A(F-kzJ@>p$8^o`85{vt5{4BN8brxJ19DAI;7wd{smcc&nxUK z;gcGFt_7Rr*-L`#sU`Jn*~oRBxX4e%MV=ktA{Cx(ONc%bQh&q{2w8(yh^_4p1^$Hk zmSj}02<;-qKTtd2QbaW(&~U3%3nEvTp`Lc)pH#%kP#XdrIIA?i zU-Jb9WLvU_)K_7RbAByw?W&c+wJQpil?R7^$#CahaVS>OW)e2v*$a<`h*o`3B^}^- zm}Ph{eI|NK(fKr!u=Qx&Xv%4(w=pL(O$B*d3;d7yF(=PByrzu=^0;HzZ0t$R-VKj~39 zi2OOV2Q6&ft#n@^?;{IzjEzsht!T7=L`5!bkY^jV0m|>})}mHaRo_z!!r#}Hg}?n) z2!Cf=7XETNwdIUMav_>ENYb&vbVuRKoaLf6#!*HmA@9Py{WPVOaP>*aId`X%$+Mxi zW6y^EPM9+%__B?5ApU$t!H_iG|7LjdOaW%WYfY-{R6?E5fJK6#`#qTePoT4ZOi(|a zrDOtWZchmXpN&MrN+`H?G4&awO>lTyN{}sf>^fpn8_okYx7sDIo6WZq%~8aL`URPS zZ%D?NW2oZt2nf;KorAsU%MIqgnTzAr^)TFE|L*R#ySP;n?d+c&T70_>C4#KFcIkS* zp1beZ37oqWJ0PT^?-ieDE>UTJ3b)X6;SzdqQG>41Eji*sp`MFYm=@-ZfaWxZg`9<+ z%5Z`tN3F4Gpz=0YtJ@z)C#t#bvpFO0uGbL+P|$ z4csDV^(%c3=M>Zxh){6h5|yf5?SwPP9`EXy3S#m6g7)n(g^QHSRtI)PFXMxr8-HV+ zCrn|3LlJgvI+RA29g|}Z+4|u8zOx7I2<*!qX-Dc;U{wsS3)dQ9YEFr)YkaZKi9Ahr zi8jdk1rfi1B7DaVVpNiUZUJ>C$ocwaH#B?Q&=TLdw>v?u^@*a$dC!x!=(do+fq)!8 zPIi)81Lf+SJb((S23M=e)mHJ$kG0Il>Yx>*6gF=c^=t#Qo#@c zKEP_K%Yi0Micifm_IdH;N~t$d-| za)_)x=!k>PMxJ{2h`5Dl0mBIOfTB}A7M}Ob?Iop4bR#2P;~ogSKkLb}?!u9K^m7&c@Np2f-mit4?v(a?`Sj)~VJR;^9@>4@F1 zPbqj0Wb_|KV?8uAf|9M>467rgh0)&v8h zStSUq;MDOD$qViuU*-j9i3hj9R@X>z~>$@!Q`V}{-3s;~7>_EZul26Z_(VBe1z2y~w z{YI1>ZUyt+zRYv*=4onfC}QM9kDkV}=!K)es`@@W-IO7(5k3Z#TDxCPBpqC#jl+k~ zYlYHUlBGTEk~NA_Sg!VwH@$o0=>OD9&O|T0fqC(N?>I7a>9VisCQLcsU06S-%R%pv zn$THApI5Fbglx}qfV8Wiw*dc95|25eREJ_CuwTs-RkwZeC%mA8xzzn~Vy~VT6diV#fKWw@ZqCXO zS65dCPw{0h3m&FPJ;Q$RA@FKVS9o7>845;!NMdx2HcOuCGH;>OcEz?GqRtcQ?U;HO zC^XMqXG_)Jpl6r&L?}g)aD5W1{>!znafm%%(l*2jRq!=f(C++-k=^?)?x_yB12-z< zsNHnJw>D?;Nn0D7x~B}y_&C@6MgdjBOC-wW>aZXHH2?VhGWe3f*tr8wuLTd{goS~B zsL(Gg$a@iSYA#HbMaR7YoRB?Gnu4pb?BI$qePv#<|WY^07Y-zGDw(6d`f>n}bsMuQM* zG6N#}hAjrX1kY?eWe*y-zbpQg-UCB47NJLzSLD0->OFRaLwj=_=b(i_b=ACpmaqc1 zE5k-c>$l0prU>A(XXi3`tSR2{b-|Lu&rae;IyT%|67v9w0#wc4E`%v(YO(!zJk)1KcZX-Lz z7m{ea!D4-kcj#Oa_5hsl)|?%2UZXo%%ZO@OCb18z8KHe*BkS=`J-tGIsDcUIo3>6( zsbbF?EZ=cya0(D15Pp_VxPVDH7@3?B|r@qYqsy^k~m`cH|@6-5s|sRtLCjE*cj zbhkL7Is+EbGF-Yzis#WuT(ULr-9B_txJN8-8FW2eIN^izaO<8hN}~+dEKnX?!cG9+ z@NCeWHYFav{(MGv%+#iT(9XieK=WhQq16r6kGls=LBWr7+_h5viq3v9{~4o47@IvP zGkakurN3&v3lv{W%E=>TJ;suuQDSB9QqNhtC z?=-h7c~3YnV^<+J9>QjbvlxKNwpeWopk6TIpDz)dIaepFRtA87>h*m}2N%G?5!`>S zgg}L(2%+W@c^S2^<~nLO-8Q1*4tZ7o0Xl|z+w<8H7K#_q#KRRd3%_Fpa99d`zk=H4 zXwH{c_WDw@17qCv-P9oc2h?-W0Z_zK*wLFDS+~=$!&peY2Av0n#&_-;c?}S8tZ6sc zp*YEssJQHuo-fgV^|qQD3WHYZEG8u)5AsUBKFphv0>)dr*xy&)^4N{rZTK z8&JQ$Hl&8h#S4W?M{af(+UI2l)p(bv5Ah*dmIuBw9$AimI{qIGrkG8mkoTlUfq@7g zPPD~3bSCao4i%ptjAILmCv`7`nQvnU^038lM84Oc>?@V7DUfdSjBxgS7@I`j!=0`2 zR6;cqPU9O~+`~Tbw+4x99sb-MlB*0FKD|xBd{i)aq#Loz3bCX2>yd2i?k*{U!95fr zOU-Fi&!k3w^jfm96pJU?A$K_Rz64m%_d~0q1Fg_GlnR)XU$GPL#&v?VOJNaM8+1a? zbKr=>>X|Rx6g34PhkNdf;$MNsiJW&#!&`ms?}xNGpV7WTEMAS|k+;neb$E<6S*-dAuRmo4RR!JQwVoWO0&~92=&&wL&lJ`xl5a0~7W9r7CC)^e zmp9CRB(zVC;Cj3>->P*gq}C}4V)W%RUaHovNv%^sh>5@68BV%9I@8O`~cxA$ceVxYy}t^eD37K~^EnqA?Z3 zowf2qd8Z%v{rV%Gd+cm^i=dgi8xB_DqcR(R6*$ZA@%m1zmMh}Jc(IfzWVL${*@auC zYgkAb0O3-R#1`y2YT(Jq$KsMc5vMaGa@)C~%dSwE@v5snqiDro3M+1^oDn>@fD^8~ zW1x?RI|`JA!C@c7BXxkDZ%lfCE-0NoNyF+n@&_Jq7=W#)wJ9pnS#bJfYR#3jP^{j6 zUO*tI_&sq_H5&SQb^3HUR#09ETX{77q!qrADo0dxKHZ`ow|ExmieM7XrRuGGR?uq# z_|U6_SP+4Yp48^N^oF>2J}7*yu5u3?wNH!X#B$}4cUnY>eu5n+-^-@x@;1hg2fM7n z>qpVH=RM%($o0y4z*0a+bG=THTvha-Dg}7_|23LuabParRgOLBRswe!u7Of>54=2VYmUj=3(ga-fupgN0v-E;mmYF z;mw7MI!(qFZc5EQhH-KzKW?hE3%p~feu)wJYI&eRJ`!Hvq2R-fn5t+Nn`Am+qWDoooMj<;!u64wmx~Ye};%I8==H2;~by5TVdB3C2_N&Ao+mEIZk3Og3o(? z&qUndAmX07vM2vx#GNcth&x?>#y?HO{`wun4PZyMP5t419VucorJ!GWzqsW6VoivI z6fLCB;)>$nooT+pyD*0? zd?js_qfKFDHVEG*gR)mTml9T{%&~w#p{~-h=uuzB``|j zRteOzwy$ZwB(3M(C1@?sS-*Wt-{$;{&T6jc+bLiE$=~RI7~+QN>|-sJF@HmZ3O}hF zo%N{<`5VRJ$h~8^L5J24f5S5s;TOe%8dJFs`h-fv@Qj+H69$zIeWGyP=jfK(p3|py z`h=>Z@DkU0dr6<(=o6jYy22C6?RAm29sEQ`2ydtq?Ff};`h;sZRD6kmE(vGh2?X5Q zUAPe)Y$o@A%}y`oP88rZX1?a;ZpnTRFTT0`#=Gx*(Rm&6DJSX}2oV>z6(WV@v1=&% zM_Rdy{=4MK`fPCO{u<&&dX*Duy#g_=?&mIWpmpb2kbRhbud_$}jbFUcQRrX+-BNHc zt$_f`RigZ#!j8nrfu_D3k$o*87cO z8a1)UlEhAlo{nW5wZeih^ zxN>}q8qt~1QYl`*uJ~LzgLU6Sw-Tle5Zna1&v8v?U#d*^(u}loXY6%H0!DO=4b?#6 zzpGAvI5NdCq$BU*g}e(%xRsLNixJ#y$F^PU*FyHoYz#fT5@G8u7^n~&<<Z^O7ZK zYNMF*=UH9^ks`)nD|V43k)X#>SNNO~;VVyni2+<9J09lv8kO22FYdiqkNNPnt#U$D z%5VT7ghhfeT#|N}NpeJPma23jeNMZ%KViRjRKEHjWEW-{8eJh^$tO9_OtSkW14t*U z+r!Dja?YhgM70$ImJXrw;h5imCf+uKX0JiBku`eB3Q^+n9;Y%QG7GOmXKeKZRlx8jjm{RrlH-3 z$72sqF-*o@up=Qd5SR1@JlYUxapobH+T=>$(4J;>C^~6lp@c7dY-J{k!n8C~mJl!ro8qVrDn(UyN9p5>oJ@5sEecvYdSbf@-zzZ9oq zK~gEjt~kXVw_P^JS5M(&vp7r%k=i{oJ*>2$Xi02DZC%)Nj(I#cFHSlV?@*tibGr8! z+Ll?m5hrI)-IG}1DTPybMV-#%g{Ue{BnO)34#=~h!@_w#s{<460Ea`t;(hwYmyKL< z&7h&JpqE|f)OY^+itPq?l=2II-<15f*U1zheMRY~uE~zagEo}BbGJGfuen-K^4?wQ z2p60(JWg$fh9nDRKwu)>ozbF8TgnHhhk5X$t~>n+LnWwF?w(;01Jf^>M=dpSf&3lN?P5WcBIP(8F%uglnof z_Z2ZEA{5UI>H0%XM0EwTyW0EM`SlsPoOk;ehUuk9+XD#?19@c;vGK?LK#YGO=F zKDkcqJsEkebVKKn(9Bf5C3shEwt#%)jfcjP%9;vSS5sU?a63zXS)rl-kD)am2DL25y~Vv7jIiQcZ2@o_|f0LbFXdIPW0VL_TE+SD%f|Ksh-+SBHN^$()Y z!@gZ2VU`3!D4~RZ-jS5DV=z0v{&?mc*>W&RdrrS|)uPyvtY!9j=MBG~X+3&zNQI7= zqvA()BO@2}*Nj3tys<(5SuCCc|G&Ke8lH5ejL_ae1_SGQ}jGLUsWZJr+!AX$cg9UZ2G zC#Qb>f)d^-tX_<#g#Oc`5MHoXY22OPiRV|Js-l_Rpz_?eo}NYubr!fPQfI1`nc(Yx zq4N?tc;ACmFusER$EJGx66bo%hZ}tnjdKMK@)!4)-9# zEHkUJx2HWb`f#+JWkf*)G8s^re&4W6i9fwvj!~sq*2j7(x zN}}K`O*7O)mw&Dmmjm%H;L@`$U|1OFF(?ca5698iYYN8@SW!Mn@HQrc$vsvcNV4sO zCa(Viwj(UK;&ROk5mJd{`wdTAGNDsn-+ZMn#=KX$Q)NEWDw|t3Wpn+{JZsleg04^R z9$oP*gWbC7!p6ff_9NC@)V(zqb%}79#k4C)9hkj5EwPlI_c_J>NA-tKxQ6|+ z8%(b~52oi|>K1INnI2q1Tg$Q8BL(2y+~My0Op7!+(AwM%0}t2ezh}J$cx~;}@IwnNFT_nlsK)Iq3?c z{+y}|5sS()#m9#{D9%?(`+sDbJn*laI!Y^QF&A)*QmQB!tx`C;~Pj5OKEtfrgDv}UGY=6s_f}!twwjzt zhWQ~iso|peZ7Y_UuwYvtppoLk1$;j|L_kmWLzedA4WRt2YCdJV10&df^&e|&IZ=eq z0aGDN>8S3{X==f%ipKjA6b`zb-S$0vd<^6~f6*_h;%u~~tzFfhO!(bvEK)?~%W9!) zKixTQ!ZL&TA5K`lZ}%@Jd{SP6aK*@jDx!^~r|KO0e8VUHkw1IMB0BD_Q$yl^fxZ zEv;9~JL<197R#F`xZXYwFjCa+IHn7RIYVx@J!=3!?Vl+}YHLRx0g@-)nas%Y&X}s;7~l5Jl=W(PXZ-eaKn5`ZO#Ur+_oy@Wt3|VBJ{f*qKyYh9 z!)Wt?9sPtF2QH3{1EeFbS8pv;ls>S35k|wN`+8D4;ZaMY@84G4@?L47!UFa4l@OPl zb%eh%wp?5>wp?9*DH9Gj)-)FcG2lq zmd{-!mTptEbVu z%{p!Dcjxl%!hYGVe}3Eq?@rWnYNNuNmF44hP&tiYsR1p2h5mRwep?OjcD@jOe7~;4 zNv(BmBc~Nhy}CKO^J?gwq})!4ius8tK)EjN-jbLJoFpsgk%x8MTHjn1jT8`LGJ7rtRBH+ogNP8<`!)$NG}# z)z(TP`{WS7q>OXX3!x8mF1kL;tQKsGZP4vrx}Ela!d~mCANH$1Z_VfnpVzwJwW$=w zA%R%9?XdD#Zd_!E_v4UemGl>rE*k6`pSquGa?6FhUU8l*zw%t??40oLM>dr;j#sf@ zuu_`hlkL;GbU83~`dwzwd{$Z0+^tNjaPbvBy7;z`ZJw@{MdlM9-%t4X@^(_a-Ob4= z56ppoB2MU8IM{1K1|t#I+t{!;76D=&;q80a{+t5~HI0W2lgY=|1M`^+Qj2DMedc=3 zwzf$%L%AX?4(ZS984=}PN+ZVjjQ*Za9^8j(f^tphjU!PwD73f3ntEyUFr( z$GV^jCvC4fuNw6Krvjtl=T(m*U~{TEpWTvwraPynUCEM~$OJ~#d_T2atwa~c{w?4a z0vDNGB&!JgKzew^oEFW-Xg8&BImqD2WQ9uOQVUJd;9q(#PaW-~T_ zQg}{&%;2>+-6*=8uZ6Zn-GLkEUVq|V{p8~KG#xTULQqWRATIS&?=BH>rK2~tfCRp{ zRW&#b{fgtY^nWY`eVnoT-5)pQoNI`D6JoSY2r=>!vXyLnJut=cW!->ujmZwSz|(oP zOxX8nYwnX*wx2GQ<>_*G%_{E+b0?F3rj;yx1+?x}v24#{l9YK&lhVu~L?_H6tIi2~ zz?qre+%&^voI`t3AL)FNG~b@IzQz>2=55?l;)|{vI`zE! zxp@kXAo&4karSA%dxf_5YImMIA=RE3H{O{qTSmsC5-VdLR>p!|n|hG0-5kDuYZwuv zZCs2;V2z;wNeLwJN8XG0xKYH-t|;GGWtpm^RUQZlkX#C|-qnh6@7vYqJ1*YOsv?UU z&O=C8faLv@DBb&_LM{41?IyAD*7F`>YW>O=0VUa1pdKxYO4Ysb?f2}=e5&Esutrp? z-M$(5k^|n%s~Ud?U`FO`(khOBD2$v?b#E5q%&_9W{G%t;oKV(;AK z1w3)Od1o)i5l**lR;DUjMYY>S1LrGn0XT30G`aFn{CX_>sf>d-VJ^6T7zq^q2)zId zV24{+@Oa?B6`W$K%#L^lm)_&HhHpH&PO?7v@ zshI*BOz>Ug51!R#qC*;gF0^pP<=bA^Ki99%kDpP(&pbXW-Q05bYyIG1oG-jTcY=lE z4eC3r%|Y!2ikxcB`*&%=yH`+C)C2fdQnV8VrWIrG&cJ>jLz3gI<}<0hGw<512aL>! zUco+|@MEjarWHl#?9I8jE&o4 z725F>8lFj}>xroKBxy2b@EP?<%gl$s)G4Ed@Vm3f!KXQn}_#s=n*01>8FEZeHJfkN#dRa%c$@aGf^jLnZJL7 zz9;<0W>CmCxQ&x%yGjx2o3sm$VLjM-vI%*w^3HF}6b!w8IQTVb>Q@G3u76k=HG(F+ z)I~#zSctoTLZ#I;(ws8QY12GoNvweOvI=@ZMfR!Cx#?7zS#T`j>8mQ6r+rmjK~>+e z%0E>TwzxMlj0#bEkP`CUN#|CkSRlSFI6%CN8Ke)h2Ourv+g|lH9mo>6FVgcnVsDlz zA0QMyjo?jxIH_q=Sv@d4A6D62IEPqQ`2A6De*{Tq?6Lvj{QDQ`XZYu>8u5&a96v9H zka8=Sd0(VIJ>kfjMYTi(zA~?|5?`vJh~Aae!QQ4}cnlr=9FsPmpyqcXZcAk)5xBQ3 z36Y)9h~u3w^moFPBJU(gBPuxc^5JtP)cL<=sknQ8A=;aLglKQ~!eqRCgvm(V3#EQvA-UgrEKLJ`{D{5@suS6)ooLs_Z6^Og}RJ%*JB=uDa%Lcx>L{{uyJ>&jLgu zuh8<$kO;ja`2Uut@Y9;YLghEM0FeGe0RWCI5deJddpo=IXA-~)YaAKf7XkJffA~T7 zdgv*^DEwFqttf#@w~JP=7p<4Qoz>i0vjWC{=I)vVIDv*|vR14A5wT|7+P08iPP5)L`2RUnTe2!J5%GZFlB(bQt*9oT ziI=#)l^V<)fm1qH*wO5HksYO7dzs3wWc~1aEX_l5|9Ng>J=v zk{*B7LQ$kyNyOirzK~8_P zF~!O7AzdquZLba)+0|7ACMtxab=KE^ZBzpIL;3Nt5jvXe(-%AW#=2#3dmJqTSn+DD z(2}7<9v8^rL0p;9H##d$MXMGynY4AqdEj)cKbf3Q-D~sOnY2r1QD04jLeC(=C)s`U zRBQzKcPsU}t@02hAq(Nw4Tz@Q-#WIH-93B#ulD^Y)n2uo7Y(^+B^2J?yGo~j^}pGl zz^d$@WbZMQ!_SX5f_Ncok2>91$qt_45_<_Mw>}XH8CXy(Yd-&eF%sg4;8QlnmOxbT zfb3Kt1`CM2_(P`}36lv8BomjoINgA?v*IL-R830WmH|OlLKqcCq}Ewf>^_sYxzShn zD70(%^ARwt8)x;xJvqYt>*p-_d@O3XSz*ub$sG~$g&xqzwY5^ zmMK_S(^Ln&l65| ze~EQ6vn&9L=!s^TCtMnTIvYCY$sm-$8{B|O)>%Elog^P;9H7WRd%)3qm6KGG zI!ibr6V439qw|m4SqdKcznoYWQ4*aEPi!v}D>(&Ec0Pxx{gUfU6sg?k@(F(cXi)J; zj|}HOL^5D~TT|K!UE0+_Ix64<{g#eMbUs!|F5#`jfq5@K^NHSnK{ievS>rxx?DsDA zp|W}Colmf@O5?HS)c@BPYnw|7c&4j{o5avX#m=2jy$VN2=2hAPwtaNBM(28GCDesq zU&MV$E9)#tK-B5#q!o7k?zRG1ORp{AZD5IDuzyWOq&&-ZFCTy$BFdi>zL)Z*7xM5r z=h{-=j>Qp&_E`OY@as55?yAzvFx!)s>6!{P71^QD0~EXYC~oxiDOP&Bg~$i*$r0g; zYfN{BxyawVnm?sF5^{x0AUOY9i9|7Qi44Zq;ni^FjY98sXCjfPvCAib!M%OBC;kFm zEo+g9->|sUO{`?E;^`yfJ@pI31{x1LX1f_*#d)*XFA)QOa7s%I_O;WZZPYp(BF9w< zqXvSnPwdatQbv8&EnCgo@XVh>IJu;Q6#2@xn=o0i)2>*U?6YCOinxgSiI|25J0`JO zU7t`ceBo>R20#lJxYuS}_H4^z6^gM_BdsVA{+cSitvnv1o z#}iJjWx}(6f4vkGg*v95Cw9*zakO*1udmdxKudyI>uZX?-9;v{ta@7n3pmJ7@FkHX zymK8`plF7^;F)j7&#<_bV~}Y4@wcbUx`B+ApRI9xg7H^ZwNtrNuk{1F!7F32(tt_( z!VU#p>ZJN4B>ebv|EeM&HUvwoJf5r8RI}AjBDeE@)`kTFwrDnkH1oiXmM9beLpKi( zAE}vZOsJcXocRNv>$huUk<*wpa>~{#ms<*Kgs!WQ*+Qj&s}($b|7HR^D{X>ft9vSM=ke^gUc)QLN)GFr z%jXe)5+ypDT7D!H$3l?{$l>YFR5QoXJnc$`OczJ>aGdMN7nSbfFx<6n@{yUTtC%8@ zK@w-jjCI__83i)~+^wuwMqz?H3^CAgXb*J4f{#KyYZ+MZKIUewtlZ4ORGL=o3`d-^ z)Mz!w_u?<$v09iQs;st@nx_F_@ad)3TotW<32cr6;AW?4x-3*WKiOI&!N+_}24cyy ztQvDEvdWpjNxfnDGplm2hqfgcSDY1yaEjbGN-y8*JR`O*9O#vH5`;b??CX$0Je^&$ zr&Jx-Uoc$}`LnFF43XwIsZH}fLp#=k{C#XR3w(L=aV2P z3XJ}+#q@uwzXPZMF?8&`N{jBcAZp0quufKsGSFV`zTRn8VlzFQ@;Clm_*Tc?*$H{o zz$4F9JuGjPo6pV;@77RGV!&H4e@sGuw_3F%ZfM`)$+mfk?aXgnJvsMKqvROv|Ods3+Q|E z)kMUktnUTQN`mEdNI9&(5WnJPF2H5A26WbPFY@$By{v za`J1$>hFu0YzP~?GEMWwP%t^*eVD8V;7r5H4-9!&M&K;{d(k|e)XnGzuCvlR6YJwL z@CsbTWA64PQpJQ(UDWI5lfUCNe=%rCAbM)w-jCl&b`n5T=di%%VyVaNjP7ka84t)5 zb|<6bqiBRkGB0(+6wobqbWt|>fG%mVNTCsm?k3w^>jTgmNPX~xa5~cH)Q-+?=rqUE z*)xgOh}Iy2w|jxA4jfUV_njQNzSgBN+0S%&Mw6JpQO^iEcbLTo$Q>Q&e+0hZB~NtB z!`O0;kAp3Ii$4O0#n2-;$qEanJkwO&@Cq|sbxRC)?3TFd#Viu`DcmlW&^>b}Xo7pC z=uMDKO2Uf{v1qm)FuuEI6>Qo%*@5c7K+nw0Z-<~KybcOm>2*+)!v(F+$@s&Dv`7N7Y zFqh8#CPv4(*E((Gq*uUHd|H=*aZ5hiOJoc ztn!DG-?P*{D4jmCpeOQb?9zga3Zw2<8>3-NdUTz`M`tEVf13+4hY_)XCHp`?I4fLz zx~qqCUFF4V{ORcE+%?gyW%1WzE%tksA_th?CG))Qd3EKyrn@spG0}MqRzdsoFpotY z?QM@gUN!>pSvFrZ`TGLK^{e+Au1nb~J<}bjAh~gIpCD19pZ)S)#0>qVvge&p-78yg zDQbIGu+?Qbe>*_QEp_DH#aQN%U|P`_vO|(`8#($wJz?@yOaarR{YZ|vq=s51gd*q+ zxH`NjA?($?MC3R=2mKgmy%*^Q6{}=MWZ?!KYec8t&=8NM;>)&f0mAXR#0Q*hv)2I*MW7l7CU1j zm-dt98RQAI_E=@5T%zw$l}v0$30@_?Ek*4Q?gFHXrU*Su)-o|%$J%C4SC3=#J8c6Ca$J07?mAuO{JD zHB3h_yeR{O0@MeCY2&qYDF~Pp^PKzo#;nQ(e-<(B=pG?dL9VLwW_22^-#+08jT=zZVRMaBo*&kip7F8V{LcJ!7EFWcDwx6Zf zf8+NGlqaYt2GqsZ^w-PAioQNILsWxmUTaKxy;k7>3goHSbsV2(c!ijvE8K};6R&^k zrWKSf-yrTemo{G}=)ReGgSdwqM5g=n_k5!N$)7pXLpj^$I5W;C17Bb2VHwP>VUoxjxT^-`q19<{oxQ^hmJ z+763?!B^5g+-{=P)hk=QRa@73@}bKe^WZ1 z2&bWl$731Zjq)*US38iFEb@=RKv?aiORxuIw!q<+OnuA^?_u`zi5=}5Xfl0(f{&`4I3eIM)8_m^+=-A?uW6Fs4Q0T3AG z?N!8POzcB5Rz$2W)LEX;l5Blzk_V|trj{+JWq03d+2A)@_RGt!pPB+Df9Er~>lnlN z)%;K7hF6lip3$UB(p%^*RnofR87oyXJl%;~y{e-&i0{l*K9LYVU-d%?PW@0Gr60;D zlA>~G?2R}h;Fv%G1Dk|;o@6m|OqNl0CE6O8mW=#G%sm1a3|utxo9Iqv=Jf+c=#R#z zALO|{*m;Ae@L&zfl2R)bWwLNkxskI*S2KDuJh=j`@E-PFy@WU#^gQv zMma_mgEF@U2)X3=9Y-}G^1o7@tLVIsg;3DYI$8#XNrVy!lrn$e@%F^S^v0qU-@7g zDF@q?TyON7(#wB03;plr$b;XU)!vm8LG1l+ioF|Gu=k%G0qJMb-?~keEYgH#X>m*h z#!Tu7Sf%Gnm7Xkz;j0Os$^$)+<*e%SrK(SsQ^5bq=YaoEpl>Ua{c$#tf>G7RQh zN?d^#?)ZWe>ZH!Af9dQF) zx}HB^iw~x2lWSD0Y3G}?U7~ockp+#*->}aleC4gbX_P zPwin1e|$$ywkK?HdnR|6+LONn57%F556)l#(^I?F@oqcCe^bP#Wa}f6AgXw1%|+f9 zvBTd%i)OaY4<-D8;5n82h#Ie{Jl23CFz@C!+ z<*9Fd(5FVffBvaL>Qis@si#Yy3UIf*RT%QK%A-wzhdT~DTpN_&b%;@Go=Mo;lO{SD zHc`E~f|=nq_d$HPs?DWTn@7}U`%;@heV-RAMx(VfONBMf@ro=(uhh(JNAjMwx7^z! zvSrKv^%uosX`uuvpVfp%`LD!FQSe0hAB`0A7 zTrKA_f1XZW4mEg3R;V--)#RbOmWS>pSzeOm<>X;s!=DEmE&T=CDwi|d(9~2vX~ebL zs@Tiig9F8Bs;6}zlSz-(KzW3haw~=f1Z7yp!_AWe4QkJ?Su4rABY11{Pqg! zi_Mc4`IC?+aD%=)1!3(fY-Lb9FD&VK(E<GTo*9PIa+&xo|=|@ zfg<%~pA(e@to(y>*2m6Wn6unefe5@K7lh1Fw!vJ~nu$DnNN)q>#kzUv%^HmMU-Y1V zf3re4*yQ@egUxQ!EsVoHGuX-tGEE)YHL@4^JY%ruiNWq4Apmn2KpdTJ+`B~O7W0Zc zxa8;=RxTU*2*v^b1z0HbgUL4ZMV);u71`aSsJNT_7C2L-$mWr1G2x!_4REF!y;&1= zNrH@v{{W!$E%2i(*&uXDO54e{eREEKql@Pu`P_Z*(T5&rOkylXA`w-iUtm z^0F`zYX4?iEXO5Ym8B!|{hXAfDXWy2t111Q%G8mxh(j@F=`4}q_Qa;uW~q!!S~Y?R zeuk)n0b;Zm1+~h{Vy!+kPgj0j%}V6aR?<&Pn6>LK@G6U{_RSPslO5e=8;; zgcJ4sgy;n~NR$Nj(T7TBB!TFavbFWOVaW9=sw+O0bWXe~7N-Tl?MZ=8@TrfkrT7bN z$$g2OWoVKSJU!yfm4YH<+9Qh1(P91>C^7>@iE_-;1p`~at1)WQm>hFF-C{6 z6BfzZs;rfu3F}g#9$@Scp+S$an0&aWi~?QB>$6GZg@=-D<`O@qg!tdxIODr3t5H|DFU)Ri)Nl9UP6ctxA=Xr|pYJ$vje_yol{>(Wn zE8r~}Vy*#TVEGlAjQTP#C>tyXwPYe7PUl$po(F#-6pIo(ln zZ#mz<V{CG@!|+RAt;#Bs#Mi*b4;-Vil!+Ap;;z` zclxG>q4Vvcg@f7AX)N1)kit48faBD?yE=qX-2jw`gpCBLV!pr&$V_+(MgH@tG!TI- z9cWd)V^5YGdUN7g_t;e(_M;upCk)wWTeKxo>=P;jApi~rThAd3e=D-D`@H(_3V(ch zlzCQ+5hEpR9*W9nQ0{^pN3s*xkR!o{D*A%cgn2k|6R~_m%8pCEXgo&Ro?O)qlw2dH zv-eOUGHhnbhfPEmV*H_jRxpZp5(2KLb!~NgUR4+Z*$D5E+{LI7fow#HV8yG~jn}ey zOWZfBtqqH5E^gJfe@54uFm7r;>QPT^t1CJ`oI4vMe~qlZ{{DdXBR*QRWG_aVD~LbL zm+XM6V8cC;q<-(9$<7gDoiv+4X6piD&ohCsT4jS&Vzl)+tbqdv$7EM6Hqoyy*E}Q} zD4f=Dn3r(`A2#qkqkV|j0eR$g@-fVApCjA1MgX%7wQqf)e|=?Y-`JAv3(5Y3 z?Hfi5aGucj7S*~;S+de|^x>ZmHLy+|>zfOGnOWGEb=(&?OQNQD zZDP6=k`aB$ed3 zXS8>m9*k_#f4+=_2~j;$7t1AY{4q;f-U{2C*XK>1=eA}p36JAV8Il{~{H;8uS~RPo zc7l63j7C1xr7C@>RplH9a*lWZFvkI506M~FHjq8ZJ2}ZYT(5bW<6Pz(@5oWsq7%4~ zSg>GZYCAY0wZtTQ|DThr7jMh&3df^YIP+pj1SlmBe|(F6ZUv{$+i|^%LbY={LFm76 ztJ;odbQDQUyY`GHZw?;dGK4o^e|9xN&Ogiws6cpH=FRidvf*jDv66hQB=Rwz8%7_d zHMWv`ejn;77NLvdm3T3OIp6zqL7iTVuE=j(gm|M!W4#@jO z<}e_nK7GMJj9X9L?L~uk$=uxNS4dX10&ALDSp$;C%tgpM9J)0|_rVb$p>ysjw2thU z>l>Sld32jhV%u~QL!{NaF0n_%q44ZuPDL|Le|5E>aQ_W*0FS>qH}Y(MW)@JRpEka8 z5S*!sZS!9}!~wYdC5Ear^zw>&Y)qwv`WeLtYexsv>UJUz0LTQ;Fsl&$H|``=s^5kJ zI#pC6?$4esnjZ+%aYh$2^kgC%4B#V7f0sOz!IRAX)M;wjaF9vlEl`PYUKDbZ?SQGt ze|G6I^~TEbOd^A&N`#W0U{rrZ1XLLIJ27scad(EsQ>fBd5sgnI0UGZvKQuKTv7-MB^PvfF{F!xnjR8RT2v)d%t|aKvWW|GbAo|WTTQ;|EME7 zmBjY66&2GJjTLKS-awu#Eb)=DC@y0q4QNhR%)2)7Y0TWRr{aS+$YKPsC{gi7f0Si0 z*sE$QHe=Ui=~!q*Q%$IsOfG*@I?=U1G)k&2K9{H;MD_VZ{kW{w_o8~ItkzEw^`Pr_ z6ZO+XJwz}+%n}dGQy=gW^?vFDL85+9KJDN#QNK#j4-@t4RQ)DVzfIBKCF=L((*Zmr z>I*6Q#YBB6RbNijS5o!WM13vQf4+L6{w7u5NYv*N_4lv<67}QC>G(U9!~#gwyNUW~ z<&^#`Q9nO@Uoi%4COR2|Cg3n{o%6$)*@qT+V|;->Swmo)gb0TsdbZS7!xWdNcvul9 zP1zjVj+n@-Y{M)Ci=)G_H;0y!4Mz%I=99v*(8wL~MCcON-33-TjJx=_R=8(QD z!Ff{6+vD=+L%V$88iAaGe_nLMvekyY{x6Kp0bilp_`MT1x2L(H3Z{{pFM+~-;9`-D zn&=OBJs56yzoQw+cXjgo$Pg+-?jHe(3OgJ=7$Oz1tcl|qbo7-h50mBT#o6-2 zx~A}!fZ$1#6F(qHt4p4wojdX{AeH=cK}r2I!k27D(JF{0j9Ei3lOC{U6#o(%=w);2 zXpx5&thwmnHhW}t;G@y+-V#xapEe>EQd-(WQXD(Bf4Io_FypndRtka=Qj=*sFIKD% zrZ?o?si@1#uF{r!sNlqEPctMK2-MK-h2>qAg@1ri_s@)Cp(KKDYk%oDo%pB6>E6mb z{b7b*dNA}u8r-6raKcFmOPuPX)j*3leJxLjLY}@-5$swFNPV{^&>uSt;O6lvlgj>*OIOyP>;s~_pJ%K0LA4I;XMdwN5*EjyTE&h$1n7NvW zkH9B~u>78n+;1WNl4mHKoDb&&f4QlSCGIO0e=L+dX=pteviIA^W=V6~!gIe$@ZB9a zu>zAOty!rsvv9~lRzTs~)iLPmGjE2-2R?lA(tEGB)GwFR_0@LBU8ggq3`4z!6rS&4 z9l**N)hv*nKV3X>qL#EFtAmi8f6_ktYUe*Mbv`6SDb+pkH#-k@KEkAE7b)VcQ&?kh zf6u9d<;oKca10phkO}VpUIV$EXE>v@p`sV75Ebm~X&X$2SyePBa2O2lS9t@II3uNjz!o{+BtoSSYeZ}Ee zb2u={xximN+{=G5XBVKjp<1wj#{(>WHZhQtrDpdt)cLt+PQ#j%@;Syk!!Z&>yl^;O7=&X>b^(FN89f(GWT z4uEHI1WM-563}J=3&fdO-5|w}kIYD75AJ=dmHO0H1&5xj`&>yBK{Yy72)Acs(-hT> zXwwiL)|jaMu@o~b4Jy7z9mteUe`<}bI&F2;LcQpcI5l%%7}V>ZST(M3m&fXF=EIo4 zc}Hk1yA-=rwVlD2YF}|xnrjLTZ!xVhDR7P!2SIC%S#|?<5$COY8uF9$d>&ho&ei9< z*sZ2OYbdK0`5K}#X*v9vrs}gJ-8^1cMmHR3lAkBJqOjcljX3B){Q;Tfe<-c|N~J7W z@(rGxm^W!0rzwszt~1KjPXYmY<46J&r7{c7o;yjgn~EDnct|LElA^;-KAprsBkM0k z_%kK2yR0l^5qm{mkP2FFdW=4%g|76U!Q*;a7Ssm~0XVr1 zz)svWJphjy+z>37+#H0u56n^CR+BSKGqpWsQdtlpo&ZGGitO%zeFX3f_Z5g@ja z96grOsT%OStAf3>S7nJiz+TIQ$X@<^WH)_ezs#b@Uj8hyo5|7RA=|Ds5!qctwk*R5 zgw;ABvYo$=?6!~Wf4&n%w)3;dZYM{NhwQY`Mr3yo*|dieJpBnqj2rhg+!Os)o8`&3 zSvt!o@;+|H9pL8aJT#uo;$WP@R!y{7eivtcG`WY9nnUX)6Z3h5oCWHfa8JFa6c*o0 zll$Xf`n!==S9iiItl7eSSq!?o*C}+;rw{ywkf5uTe`B($e_q0El8%FS*#=ZqFKKjw zB*6z}XpH+Q_OJBRBf14gZSn{6_Vp$0X)Q1`qfF}63?=l}gA-U`XEI}Qzb*&zXBc31 z_P+zz)pK0YC#rgyKJf#y-1Aw^vQqRz3HBGou*HfyGnW4HS;Hz)G3hTxzRsdG%zti& zyn!lKpzq}bfA6kSBwv_(c(^~;*Wh|}l$lQZO?3e+v*va=h+2Ub_JZ;?N5CgVV#}aCLgN5`4C-5)IsuDj~vee?c9SEU1oR z9B_k0f16V@`VOZ*q{!GE;hVEqQ+fF)jaY;bhG6MHVsH!(iX4U57%T52te0U916bOF z7!am_gz=})6do+F2Yn?-@c^~~!&4Pl(YlGcq`n6ws#sdavee2*!$2*>q9Fc1I|ZS< zk9OJ469x9oQW3?L<=*mr*ckLEzN=S@BJZZ;e=xKU|5g~_Wwv8ujwtHa-4UVr7_c`C zk7aLy0Ym>ru_clHdyiE!F{~=9i1nnH&K>O0!q;g_`Hqm9fo& z=OF()I~OB9gC$<2CdD#kfNRsTajxc`k_~q1p%O@19scr7D#KMXHc7A<&Vvb(DGp>j zf5>00vdV%Q*7O;$Cz$M*;uZ&`rZ&(Us^dpJSX>k(5ZM1@l%j145VII-%m}NQrFhcr zZTrBU#By>_%L@45sEgM=4UzxYMM&|r6w@`9Cv^~*=QJ?S{_XQ*on~*EV24hndGtRR zKE?y{oCoIlbi+KcBw~B|b#%hjWf0l|f4jU6UasVW>y=$j5l!;-gPbOd0Ib%{u)1F- zi3C^Q3+pNXYxf_6^~(f>%a~f_!Rm`rXxtQ|_1U`uf3Z`?^~o13(5W`PY)wr=vK zc#-sqk!_TVstnR8gS7k2kfy&dUlIQ6Folp-<&ctQGSLsJDH8&2xEyd$UNB9WrDh={ z)XLuf@6D{}TZWg>K?eib#%MA48b?k!c)1|w5iSJTUiN8UJP$D(bJv=bf24R?1n@Mw z1y99qBYqc)bjITu2h{__iCHnFa>8q5=(4p%8=8$N_f@(YTn2m`p zi7QaZ?IS_R&9(S)=)&|9#@u4n4$^o@6<j62c<}h`6dgrP{47LAmA7x>e+~6iQ0E2G%FhNngH)l5FK)u+ zBm#IHK>090B!Rp|zrQp|=J@q@H%u}K6=0GZoMbkFbxJV4f3U$sjjNT0TRt0RJn!DJ zlNUqMe}<#+vypA3vs0I>X*Fe6Vt8CQAj5X6wpH|G@0cfh7w}};AwL#dtMvM)iStYo z=WK?4EbVEl$2eV_VTGl7l+a`OGH;|VISt91J)VzL%3l?H(wR0L3pQsH4$}BuDSVHX zcaxnYLxYeWe*m$obT=w}97|{$v)cF?A&df~nWi1;BX{k_ny79G$=rb0P=4xZI%LSQ zb3mu7%#_^S5DTP^B_aioo?+GFTa1`>}L| zNtoD`yrz^G$7rX?zd%ZBdToaY%I zyu|PURn9Oc*WxA@{#-n6lyewT0`xA)ZgR)7a1F{?m_6ULZsQmbvBps!eDi7$HWOFh z%3Yw6zQ$cbB%l(2qe_2UDLOSmetD3*Rb~QB>!?onAX-+g6uFmRJD;2z*I^DjPsG@xR`&1FR2Y272 zb!9Kdh$v35mZ-+kcX4WLL1-MYo^f$H`#L<9|1usEYxJMPZe?N8fES;{VP6f0hX*5!x4+SwbAkGdVy@o)Hf3F|vW| zIHUZd)c7wLeNdL)`ulY7g>dVK=pfVPS1y9CfBICuvaUxJ{7uI!Eq>pPSz7%5os13m z%{o|zhi;5_!$kdX9$k9e@&Mueuct;XI)C_EjKM6w@5Er1-`8cBEd(UmRiy4>t63x4 ze?4ml#%m0NG{(2t>ZD2i6Mg@8s(hykC;tr^$?4ywkxE=6{T#Lb@0fj~#=Dlzsi2Jg zb~?+9jhiH_9xoYg*LO0}aGk!37Y)AZlgy3Z)X&XOk%@-XN#a1+y?#u*<)TK_NTdF{ zsa=WA{x9g$cqgD^$jHTSnim8Ff36`De-Mc@_N*^S)f7@pR!-1^3?`Y#GcWU!G!w}u zkAatp@uxmMSyl&}VltMRpQi~)B_+Pm>J0T9!a9Zb~G@;pKi^^^VabBziaJ~?6zP*HVzSUezh;#Tk6VL>|9rk<0ey`c@ zO;OxxUe<#&+7`nnuga3#u?^-Ke;dDrC3uWqf_zK4O&iM9z!FT+O)9^m(^@HGX4ZwH zi)$>n{VZ8mor!$;VAW#%!K1#P(X1(2{kXw=kLIf9qgQ*_J&GJaG&f&o0p6vRq`i)` z2&4BE9T{CyyiZ5j-CD}I*GV=xzSjcPo5FKuASa$n@tfxH^Wns%3zP!qbx34|8@D?C|;T4S!GsN zv-%K_8LP9J1J3^$fz!Rhe+(3;+pp!-)KToBg{*)RW@4+W7_T_f(({*QO12A?^jn`x z1Z0i44_mYYn|ms#+sMuX3uRtBB?5Z0n$-XpXpQAh9Ci=yj=W~I06Zo&<*!IhJQS0P zZ9g^938_w;kZE6$nfN{G+LEekSjuz~dZe9*uki!4U)A94NexcKf9Q%$L_fQJRtSRD z%Tfb?*hOY}VquZ>MUwL51~b?&SJ2hIxS+5i-8DI~!9*6uoidf(32d?S;jmMVwpgCr zYDhkKkgRWogpbw#7D(hgUkk#q^0ZNe6bFBNlbe^Nnn5a{YbSMo--6hiMvV&JOhbpmBF_pVCb`}~? zq14w2cBdbyW2o}8P2O)RJF>4V8yxH{rjZSm^-lQlJQ zK3S>M2DoxCA#I`-+x*Gw8zp|{pnK=pBh4~oV9}5ce-W*-#*aR%+60(`I?7h(Xjsfu z2bg64cF=u5U9~9;{_Kxc3=dwDPNp~WZB=&I&lo=^oJ<31QO<<3(t`zx1oQ|!9F4_- z!q$OgcW+OPuBWO?SwS;(lcILFs*9(`jH2|TpsKx(RxJOU9hc^~VRKxvIWE{7-BZOb z@0GP$f3m1#$r6f{8zlHh3cBrx5R9CQ?<+6GMwKxL_EakESx=?%UaVz4MSjVQjw};r7qZsWX(kEJqmgT3$*6Ar8 zf7Mjp*GB%GhQT8D8)R@-!#B2?xxB#MH`M2rSK{6hJA1O8{zDHRWF@v!%+yHpLitz` zUsgP)o=a`k~@tNZS^J!IIrNk+kokl8QIuAGY&_j&xI^ohq zl}MGy$u3-DbB>!b_l2rJj6?-Sx=(--%&n5}h(t!z*7T5`S{Xo6C_GI+u(8jMChZjK`>_Nlm_j&3Hk#6CM zeQfD8H_W4cR_YE|D;Sh>3hhcbf7DsToU1GJQtOVoCU^BDeh1KGMB3cIMZavW=J2@V zR_)E1ZyVT?a8-xxNwA6nl`&NmD557=Qwrn}zVGm__HifQmB>^2NU;&!lL%K^n^EbT zj1b$)TKGYHJNz2D;wEa=nlhaT-uja7d^2x7JrHbz?i@;dXfu6_Gviemf3cdS=ux{C z>+$Q^lH`6GBhoj^y13I{vO)%?=VrU{M^H1&k*?Kdp4^iXpJQL8H@m@3c##!dNp>s`%)ay%`tJwk2HF+NmneMKz zZ$>KTXMMX77jUv>He=l6e`3vStivjKd3+%Jn08sjv60W{`fqT^D%zhcnG=+PlA#}# zYs;3B(wRz@SjV$?47YX80%%e)WEp}%|`(Y-%`m1g5&GBrMjzA{)E2ZgIYK4us8ejZ7L{jnPoAw} zYs@}O>Z2`lHsP%i$yG}ySvkjJ8{P3~5QtF*@XVRp@|G&dz}z${14G4XO(m;Av%rFG zR^QKxD{2uIkX^s9e~7JAT#c|pP>L@-F0aT3NiMLG_wyO0C2o4CpHC<22>pCAnDGVO zQw^mBZg7Wt!Qmz;<$xr#6H3B`C<(jys3eT-go2BkB%wHV6MDtc_1~bBU!Kcrzb)L; z_C6#_NCWnE;x6k7DWTn0E54~|JcyNsD!7BCJ*-nPPYgEfe;fW}2}Cz2qjDwYK5j@p ztsgn#VkBvrW7TiV6_OFUzh3e!S}zN4y=<;1bZaT2TDq~Jb<-`7W?)p;KK2i!TY5;b z3gM2mCuR+1-qEPW^0@7#PC_kSL)?=PpC7~BN?Et9`-Le45U7Tj^021n-W2$lvqlBX z8#jqQ$}sPOe*xS)=z>dpR6`mmO4f-OE<9IGJxW8?!Yz?Z)Rr2f?f{;)mW=W!l#HD^ z&-s}5G>`F!Rj2lzy^R)<@kX^L!*0-MOYYS=14PNG?;CVI^6H11VHzLHgLFfI+WjQ# zQOqXHaHi6q%8ZpSrm7r%!QxM1l>ycRd0kIp(tCEKe_Clr(_B509V4!qaD~g_iWCnx zZ70>UL^sTMzz>AqM19pj53tVDj#z;L~9DW-JW?xg(8tJ4&v7+pGvtBKa$i zLALP~@t5)YncLH{!cBt1L`cl6?W6YilQMiGb$rs%j+*J=HodxTa@q2vw6IQwH#+d5#h;36FHiR-34bvW!jnY?)!9kwwII=&c^M&6%;vxsX_O&ZBmHCT_+PlU)S@(Z3 zO?&sOSDqw>@*H`MheJ(B1~p(=rY)L1Td?Ns3jVsX2i~@Dz#QB8jVKSO_EGEwe?mT< z$zn9$CyY1|tZ$!a0nuwmJ2o8UiZfoxfTA#G_%&dNo)gp6w>=KGjO3_%T$%P%o*E9T zq8F7nc|7oD6&2qv_l>x{_8LCd&Spe(=;n*Qx9jbOPkrAl=o+zS_IyOGbzhq?#YM;U zw}QB-Jkuc`WfJ3OBbIe;#QJ@{f4^ngeJjCG>t~0FH%u|qp{jzRE-Jdu$R(q(8yO}x z;V?gLjn&yDuq(;>(Nnf{x4dIt`7yF9$veNkp3D!PbZW)2ca_u_;eGKCPb-92eX6>n z6-{nl1@<~CB1|V*I~d~exb92FGELvuBUt42+6D(E1MKdUEnviBf^W_B&*4<21mKdft$S#fJRthW~x%@+WnaZ43;OjOqn=#k+@j0*J5qqH` zm_BHP0<}V6R#|Bb>IHj);(244`1n9O!(BURj@)pa$goRpGQ)A@f2KURG~?X4c*7T8 z&nBtF>ace148g9Zu{ngs*xtx+sp*e}2qyGf-5Hw#_KNBf4w?q2J_Z5Ef zxRO(^+JoYRC$?MR<4A`qW}7D#1l!P1U+AZIx|=cH!10fo`V#|Oy5k>rWH+ld7}=~d zhjZ6XEkSH0fPU*vfA6V6#$DMa$?0U}`qE8z{_`2pf`)a=c19;WJ$XUdI_}u+q*2ZS z}K zQTY+E#&rbeR4#MsS>n_on@pAVc$g~^tg6`N3su8^z}6qt0y>bQl8m{n|CAM-r3=0k z$X_y)M|ohk$&5q;W$9+oT?Xv@r={8YXjZy2HNs{{Kd)T^-MUY+w8g5y(spvIYtL9S zH3gC4)*{yIe>Z;jh>Q*%ue?26shS*Z@KeQT(ct}`3TdpaJ`Bu?QQTH$-w|J1lXnb$ z(fv2P_Iz(Gfp7Rjd>1CZ!%`aGt8eSF7Z&g}`;PD(+kpR~J9LN_aMJ>Vg_XTauWZI# z*>)w3)4Rb=N_@73m3_zW9vzs$!KE5&hcz;Lj@Brr0RKhRhmS&vB5WN4+g5;? zx=qj2#GI+tc%4G&HO62fT7Uo(^@`uDb|3U$#7l1v38VNkfwK5+2$Zv(`V)z=_8kQf1Znb{48wq-VoPb&?Ic|9m%FG7f|=W zQ{$`~%;K$7EHWMq+A(9!_3iy6X+}$@d8Fuw+;lNtsP)R|WjJ)Zqzqlb%T=V_P14yd zuaWx{MtCPZTxfSN?yy(1;)c=Vekt`am^i-|gt@Hz4c99oecA1wcnzM8I25{frYWN%V zx&k<-*2(IguI_7iB&!FuBp5khuGhxt0j{31I51}bZIpKtk8`fr_3te@;gJ~We}wh{ zq4Wj$u)?n~^*1+$CIv?-xISCSGd15_K2sU>n$yFWvIf13jWo6^dLvC(&7K9^Qn|!Q z$@8zm9ZLemJNG#G*Cm0XcZD!R=cDEnE1l61sVZF zV@&b$pk^9QM5&_Y8XhL$lTdIA!US>)RP!j*#eOh0+=nm5o-`@(EQ6GMSm|A5UNasv zpWGZf5(Chq`*+~0D|&+ff1UrjATybrKar#P72N9Bo_MQ?$eJDz1gjh=DCt+vXQLWf2C7%SW&)&`fzNW zwbP-SH@ku-hJRk#ji%1GwHNIWX`O{t&1t&9;GG8V3nyAoYJdkTnvyVEe;m2uVg>2J zlaW8bY&9Djy6U%`#|RF7qYiW2^@?4BlDgXP7(*RVfCo@dvuH&e2ekAK_Iq@GJ}7)* zj--EX4KLk|=DgTze>W(g`i&G!=e%;;yS0ZX+z#VGiqn4GsdN&W-qS#OBrQ}_`2T1i z^EqW&j0UpBKqiTS6s`<}thL14{y!SXWDZAJA)QcR*Zod`d(X?T;Hnnh2dzuPx`W`n z{-a@4nkHgze%ybb@R$CZiT>To{gaV4>fh-7gK4<7)cbrve+D+a=6AaBIwG-&^`PZV zY!lPH#`Mrwfeavu9I@>yg7a+a-sX_pKWr(-Bx`)2!MO2hg^MGcnB3 zFm5D7seQZlj0tgW(l&+fLWc+SjU6V93VBUd3Yx5Z5V>3cTu@65M#N=7r0aEDyQbcF zFcQ~grfB@5JE4OQ*abIKZfBg%XymFq62-}9OoMX6uq$B6La`djBBubClUb1@OF zl5VTs6<_o>Yi0PNXI7$Kp|U%&@^;1X;vZTet@5dr(fV2|NmIyKBSYV8#9ND2h#Tp% z3T&pfe??PEu_%g`VyVFqyZJ842)HL76X9lAriJ!B&itV6^m4xG?3hoL7ZT;gM0r19 zksNO%{fZaWpSsr^|3drNLR{9o_ph4`vEuAi<6fC%H!x>;f?0mxNhVs;y}w{zIBTLc zGn<&AiAQdNCVQk_j(R;PJK7GbG*){JC9U6~e<c&lArnH{anHNhx5xngn?_b)SB z0{xW)2&KQx?La=vNyzg{mTuffF>Zvr9~(FL@<~M%o6huX{%Czao^HMEH@Fhf2ucD0 ze`Cnt2nmPeoz_-O*`71VC4h4VJ~gp_sP{3*Vyu`wabC`QI7B_tBWH_3qH=ooky@Zw z6tzIfgyuE0prNE#082o$zbF?)u~5-aGn$SL8eiS-#%-!|Ky-B?LGU{L8NC+sQB%1m z-Ox)SEYBRvLYi2{O$;Lbf#Z)4wp+N1cW&?i%YVpQ-4Wecwa6^tCpZbHGTR05Q8RjJ z<=MsSeUB7u8S}I4H=jjo{2A3Fj~}T>NmUoor* z;eP`Wn#WU!QiRrH*u?%VF%K@ulMJ+MNf!z~!TyghIdC=SIqtOeu*T#~OU7{&Ke!|N zn>bsHe_^KmX&>RG+9icGyW1lHLvXauF{xrD+#J4OT#((hrZ&d&)UAy?09?z#kRsUf zJh*w`rAhhFskdG#91GW9m6-GX5Q;#}Tz~r4t+!c5xV>FMJR&2JD^1dL?-dal;L{lv%i0Pxd{Mr4ZAMo9wGKQ*3B#lT9Yxh<~LL z2x>L@`*BL~ZqBdIEG1=JrhRho?DKu#jDGgvqD3!B(FlshGQl z>hz^Lj`v42jcv!+JKNJ?i?IAv9h;-u1CPE}wslN;JiHrYkiD}F<;)s9-2T~ys*6_m ze>m9QE{NMBIyma%E?Vh&$Y_;-q{pkv9$Rn=7@oN=9Ah?Qd(^m*YHp`zT!36;PaNtxl4$LXw_R438Crd z6CH~9FPDl;SYXc_V}ng`F365e$`$fMWY78rPbXzdE2$-)-_C)((jV5iunsvWd1kVH zEKIl7VjJjJ%LW||r{G8@CgHkhQ1C?iDhxe$Te;`;xCDU+x3;rG$196e$)r{1UI3mPJ}i<-4z{~-nx-lm=|bpl(=Xp z6-Y5HCEH#1H$c~2R`pHbg>N>LmG4S%h5gYx(y#W`G{I0rVikDt;z z!JE-Y?$NeNa^bNrmEP{Y3`%L`Q7sim$@V=k!`ex{v+0;qo; zE*SKg0)L4?zfW$ER~&#?D=Jz!YA)i2#|nTRiA{r-D}B$d_B~DX?SJ3*RQjIjzNe|a z(~b1cc2W*xe$G3UFB+%IGoAZDH&UwIw*MA(<)(L!n>Zn#W@$HA#_sT_lB~aSz zn;q2vHyzc|0R&s@-wOc*8*~4*mT8=f0D=vA=GG{H0KX-GKu$lC|A|^Rm~FD*6ZP>3 zXh_hB8r$#@0Ygo6gxKh$NnpnO=vxKMTO5dpr#(2ybkNYIn)>tp6#LfIv4>1nJ4eIv z?0;13gee@HVQdkqKkM#LJyeP6)kO6^k;@pnF8Nm`{1-Bb>LgHEiR$ZQ_0im{o-}fV z2QhL~n-L|wYJPIYEf1Hsr|=LJxLQkXaH)ON3}{L10G-gY8yY-nh4!&(aW>qr~1ByZGB+Pjp<~GoBPpt4@iVx`}|PuaXGmNB7IF{=YcM!XXN^yP1lAe~)zlB^DwnnGShRiJB&l2PGElf9o8ZV>7$@$3~i`bTYMQmk>6hCTwR5B7ZS& zS+mn<9k9_R>Njt#9O4(~>_15wCH>95F;N#$y;R$+HRx%$CgLIb$Ryi^p+=5;#8~8F zq{#92)Io@HZ6#nem|(GGMZ^OV@^Z#MoGytYSzG$ z2cH2Z)5UuL{VFu{zMWj3od}HZsehPF4WF5(av=ToxZ6UIXfOlX>^Hv5o%1Nd`7v2} zf^=E82>a`?%#IX%j(@ge4zgp8Gs8^vbVC~Mub8y#+n_Avh_Ym0KFve_Ze%=j!`7xE z?Ed5UYNPo*);4k0R0*PMukL0)Px&7iT&g{YXc11zZ13nq9$5e9GCsCXPJOi<P?uvT z1`gUra>y-y9ps_gDH{xDO@DZNCR6ZDrOTOgDR=u&o8gedA<;T0Q^e|DYHvO<_rG;# zsOS%O2?DVnnLR9^U$^X~@%ZvYEm8M)p{_HtX919w?3K^RH-gN?8r@JGJ|%+yFE5@f zY3)Mpr(iGXnA_bkH{tZMp6TTVhL!+*RM4$1sa4|3<{~CCKeAG{tbZ)#^=4r>Xq*IE zdv7|>JuP_ko_nkW=FyE6C)DU=#)g=y?a2HvGv$b(1O)vDi{All#yf-~^q-HuIZu#t z%*1-~dh=5bk5hLJIA;}SDU|6|w2DEZp%s2<1>~i5U&uaM%09|qA9O8qA9WLwS4gKQ z;vA$ogU_+9qH)6EX`Gh9f(|44|P#L799vLyE94gCnp)IzXcQ9Jnn1TC+51**|7IF zjh=YWBch|^6h{>D$mV$G<$pjG=y}s5s*+1^Ca4PKqZbMPkAJr->rPx}wm*n(Ev7I% zBHK8G0HJ{l{gx493}MFb>#wSI35&5$_vv$AI&C4#8cQ|q^3qO;UUeHAbD$+D)c~Wf zhcNS*59-fro^chx^8jE7SSit{v;DYYqO$+^lYtPf5j7zICcOCu10KOleX z{iLZMJm9NkBLSQvBV$&Kcf|)a%T!m7?kx=(u z?O<&uj$FpU*Zv+SKTCKP!6OL$fYSt@#8OR;zn;RMjDLyRF$cT_Uq9r@acbhTNo1GM?P-x#2Pm$$b=vzyx0=>uo&8h8BZ z;;%y$LVsN}R6B`$f?n}#jMG`I<^_e~3TCM@umCV&o7PlsT^MT#Q|w?=T0 zcow+G3u?^u_>x+CWq-LdKmD?;)?UdRtjD6(MuDx?KHUiM>BO<0!M{*z7iqyot=(My zn+0cmYx`0^o7MW#;h*2AnNPE@%oswMWF5B@N?Pfe?Jk<)NC+Pa@lHvSbM|0tUJVl~ z^M4*y@w3aJOwgIOz>z0kK@dpB{sw$`B7FYi+x`iV1Go4u)oNh!BRfFEW4n(Lhl}iE zHD6=y}I;in99IVppd;^_G4gdh8n??8?&N;mt1%IbH zm3wO{*3PVs$RR1lcSHBaMU2m+o^+sOK_r?Gv5l5KGnXL}k4h>tBPSnnnwkeISGAE)UdsReQ@z^0}-3&tm>o zcyFWDrU6)pH+Y<>*pve*Z)<0&pw8I-^(5&^kD#Vo&JT5%R6)MjO-S56cAY%!sM1h( zj4J_ASYqT~-x5UO{42zzq+!j(r?@qT_0f_JVt(n>^ueoJ`&Hz>V)w;1|9`tsF}y+o zcjzYFx=$t|i;JzG7Pc1!zxSyd1Zh~QC*I+dhpnk4eQyYb5nz2E?C-7F&7|av`E!EV z`y=^Y48WVfAr0B-_aF@A)TdY*!hpZHu1VSinViR@!L;avo!szTgScL9$k_oZtZc|F z?rKPYRvnY>UVI z1{_&!-ey}mE*T%^fQn@D1IehC_{7pJv=x`2F%j6;sh3U0Q*tDnMSsSVd?SG5*c&b^ zolbKu^ISokvl#6OFO)W^Gg^q0Oj?4u`uNh@a-l3f2kC}dwPe=z4&v?VR!iHJq;I{t zJw;a61pK3QWAiTymFDPl;}FqCW@&w&lud*(^K6~0YZ4H$!IA;b$Y3c6N%UY#lFJb& z)4hYR+l4CN$`xC?EPo>wZS4qzUsXJ(=(m^u9oZURZ?NeXDs&l$!Q#b5Wh5z95{m}` z1socj_l*S7NF3T3ukFMxu}W^quV2SeYbJb2>VwY1FilNao zo2|A*6z^2Y6u;7*Orbcd(x#Xj8F7=kk;t^o&RHuI=hfO2!+#HMhVqJuz5g^|@jTb*#SDFjfD;1_3`iR?j*njn*!#ozf z4f(2x@FN<|M?V=0#n(B{+(iI|b@cYAhl) z;Y`7wW(g8hUo4U-2viWrHlU&mec$;qF@5CYaKpb-#(#NJkyyAKN~bDsN;y2%)ZGPp zT2+0@pfplhyL4zuLsQz+EIi=vXzP%0w6y>dXy#>jLxu5a_R2-Dy>79rCQgtvRedQ& z!h1@%2u3(##jx`wFr4Vi$n+($8~FC|{?t##JvQT>n3@zUJVR-q=JsqX%xo-8X}6je zc>H3(w|~mVn?1lMGr(`fhLfp!+Yc{i506@3@k8J;%RY4d`R1(SYGd!XYNgEdO?Xnh zdb@OP^qYhvH-iM6#^Lk7dDHoMD6|`8# zkZy9@u0=OtdB$|h3rwcwI0Wc5di>u$DcFeFzmC|sxDnt~8=sSGhWV5}RLMzB2Hw0m zN|u1e@z(n-)B2%|#@8Kckhr%@*yPU?_6dS*hsrN)uG4j>y5#{u<9vai7ob+WCL)HP zcz<{nrh63=J74}oWHvT}8;I*{;Y8ha72YUBA=Yziq_M;^G?pKG@HRwN4CSs5h8A@N(p#Re=N)~oa=_ck*-j#)heOwjG>g+* zIeQpQo+hEfe~yL{qI>X4*1Uo-z{xUsnSZz%z3qBmx;HO=7=u0t%@BejaXEF0!nw4y ztQYF$1r`g>Zmsc|<4$E?XFbL1vE|BsD@SYS!iE*w65D$j;GEg57^6P*mpUt(k;F>GVYp8w0nq@st zix;efdSA9s_(>=GH*f;alk#&~n6ps;Gf=I8ny(zYfdwAF)pBKVp|M)6M66hwa@;eQ z%yyfVNPMxWk5sMOl?e7bQ;x(38Gre%lih!pvcNbwJbvyXOO;+ykq;6^t2@I%3KT#| zjnq9(88_HDYfn2;FReuL-YD?Ba->bYC(=Z$7()vkXj6+w+0=qIHE>0nYSMYc_k4-b zz=-L-O~~}%oyoKXq3c6iN=^=bs8%4n^(of95#51IVH=G&($xWcL4O*apnqril1BYC zWF3j0S2J-Th!=9o`<%uNPn!cunYXW#^sz?a_<6!SO}(|Tl{TF;cIc1PmNlraYc}n_ zj_1(jOd*m!afZ~j^9+op%}jP+i$U7F2-s1>8n_Gg|9c6QP)q59 zCx9ES`Do3(6-V}Oya6+3Gk-NDXx_VdEhe#~KJr6yXSmJ!D<*fZE6oZnm_B11ITb+$ z9vikp4=S$dZcwZK2-?NiCo2ot1a4;-**iP_bXm1gUDreWT&^QqWwjGHqAa82o|+!U z%q8_{qWftj2jWFkTP#6k6enj1TzuN4`HWp=n#UdzmFi}Ry>iyIjej8~t!piG_ALze zEqsuJL#Y-7mL@udt9q%@=7wNI6_n0Z$&|9Nz6eEFUxv1R;G3V;E@LlmTtC`gr_n%A zl7|~bN@_m9pwUC8oWX$mhk*jJ&Yk3V-xF*~ZTRu8)z-gD7zZplG$p|@So>CJ zotlxNV68^A^_VAlr++yVNZ0$FIyribOfs`oKrrvjq)!j5;mTvd{4u-<(;SN4pD^fB zccKKB8a+ZDw8z{*hn~3UC7XLI3NHCiEI>7$g_bg+;#y@K;JVRH30-yvYWM7lQ$Rwh z6c8avhoQwMQ4DpVDcVJOiI5aKzw~`0vFk237w(pp}>}zp6+JE0xZ@yK#XV=c( z>+!z^Dk}zg#?{F1o0_@KnkInS%ujih7scQ%b5${T6IqlhJrG)DtM+m=0Ao`YdlfgZ zVOcwk80HPX6O+NEZ5B?p=Y~$y4~7En`$&uF^NX@Q-^D{g)6Yx0b6>kIwS7hjp{=Q< zV^!qQMsBQ1n1%gDeSbaOr@H8?j6L~TiJfHgo=+%ovZDv;D}~n(v6qdFpG>k;nV7cN zxARlBC;Q{X;wYc^wp1JA*r-xyzW5t(Qu|DAoP!$EiukF?mS@-ckRyER`Gqa-Ok9x7 z9?$-w$0CX&aex-{g zX(RR*dU$+A{Lx1mnlL`l@;XN0@Usrv+Y}4M-`0Dq;<2d5?m@B4EeIhlU#ud}cE1mU z_^r$y#X#|lK7SjE*W`E-k8f_<8%vjb^iJODAJNXS%UuM>bzWJ?+Foy|t8@OL)3ki9 zLTfN|?!B{n@D`^rzd2Xg-qKQ$&-+pB7q*Q>jbLmsv#H3aPz+Vmj2s72(==wrLToN8 z-;SSS@UlG%PW1_=xc5aAt2=P!s8UdE%SGfcrZ=`UiGPA&&^z!bu@0F>@W-sIYQ~ac zHYbzH0&S0Vdl_Kw$z&Nd6j1;#^l0w9J9@_s5hNaq9Z*I!%>!Lb4m`Gi{3S^m&v40O zN?i8*N%rcUP#m+;48DT9t%UUjb(sR9G?^myL$(MeDksl*uFbTzkyc0v*BMOQ#1vLQ zd$xg&Ie*h<-nHzU-4d%YZG<-={`5~=2h!sQ&%)9G=MhtI@)Mm~a$l&&E?iYRL%SEH z%f0XqdeMcS5}WQ9TN}=`ay0Y_n&dO)u|B9?h8I;6jnX1c6|ccc`GKHf+EGNli6YWh zV%9w}(|7h}`ZG6ZtHLSl_Tx*RAD{Q*hb6&?QGZ0g&5@6N)GPFl_rte6bHVO+TCPu& zO#jSoB>b&L-jKLT`C0LqIq#?71Q*SUf5nTS{k4EFK#XGRHlgc{!+%ADv^iD+H*tQW z#N47Dd*8igv5&gnTLhU-<#{I0mxU7nAS@Aoxg}UVTZMLBCe(fl-oiqSxEoe1cqb>Pv% z0*qt1clK||xqhw+ljJVcaMpFvGK+cER* z;=vw?nK&WLBft^=u$w4Mkz1;z-+bE%bsh>GIuC#71m2(di5~CJUjr4wZAM@xDRRsS zob<%f;L2}Hx^46>$yy3u`DsgN^?yG~G_tM_GwZS2Tyh_uzrkC9n|?@^VtjJr6|p$a zrHP3o@&y~Hfw?H6&%9u5xPMmLTPX}?a0e5NVkcn}hqvGoQ%<$Dv@Z7T-G4+Il9{(A zw?xRmE#`LGe(K+(gvojJ9P8op-d(5?w9YOle7eZ^0fD!IH9D}QlXl$=7oLPu9SV9TBMcLJ<&=&zquv%BNUiGA3T>VSy9 zR^u;LQ4fJ`+=nWv3sJQn!Tq450Eks~d|YucgM z6Wj1QkALwiDTsN^=fBma7uHt57+HwLjnUjYP>RwO?ky2g6m6VKGk-b5Ouq0Zem=m& z)dcI4jTL|wVu^(bhLED@DX#{|jaXL83VWo({7|2EFMaEV+i_a?-)Og4^@ z4pO4-%05~ulB*s~{N4v&mTt1Ya_A|LhXQ`^D0YkbCW$({8+HqFCr%|G>ge4K#Tk?i zMMEF^$5cT&C$rokc7Ntg!k3=FmZvKAuKJrhV91l`f->bH*@O?R^E*uQ%B(cmEYo{vOCrhK|6!bz|NgB<5n$tGtzPoROn5f;4d^{1#V;Qt$(5ZY2Lty)BhCL>@Ryh z)(+-lr0n6c;C54o_*P#7{5j zE+*!wiX6tUtY!B&ZM@XYs^cwt*6~#5r}cL$}})mOYgf``}q56?VjwI<=5j6gt?!tvOl0NCmDZm+ooh&ohRDW}L)Zq4vfv6a<0j?_{tiGP22 zo}T|m2k|pdX>)WNv3%6xA>-SX*?-3_0zobwV6^elh119eu!h>bq>auVn}s{FaEoT& zJ}FeKLLbJP9vEAeVY^5WBu-++Na1|HGmB*Nw_d%ee1*YKM#P1SJ&0GViUykHB($rn z$EWNizjlR9M}Y0iCI{r!7QlMhzs4m}JbJz&Q>blWj1PS!m1s5^hY$EngILasU1$oVsNfECW% zUE#M9!bZt;uqhqr6$KxS<|>RNQo4AeA(KW^^My>Rbxz#;o3P#>dDvIx9BfMkQ)rjM zR3)iF*f)3K{h&J3!glm%JAa8eSvUr7&1&)B+6zAMBvU8Tm3Fh;NV^qX^15^-uPc`m zQzxH`m^x`DkW?@Xw)OCS`1DFSv26E67?IYHW-<*uvGPV<#LBBk!e=#{$zZ#?%Y>4m z?fgzjLG7A|vNMr(ED3e1kk@t1U0;a?APY4FPq4dUYaLpw6WIl>Tz`@6+!3~)q!AR; zM^K24KtDZ#LO6nAID$fa1V=^MX`x5}|2f`&N$vkBAMbvqbYDXE++3a92e@!W#oar- zknQN688r8u-&ZBnAMd=Pc79)scRo@&7kB_SS0~ywT(}~=)Oi(r)-i9PMD`PS3o~lp z?Q*kl^4Dz-w{de|n0hkO! zzjjc!OJN=4W3d(J#wqh08}*q^+s4Jsl5-r|=hf$+wXJiNU&_YcF;)(s(es%NM>xGj zdu-}l7NT#z_6w5K#}Yv|lAKu?o%^f!XntYpy4aZGEhg&Nw-!jHtV7@8TmS{#8RSS|xMKyH&P*kzWD{pzN47_v*jt?-InV|T`< zyeUft?CH?J1hAd=LkbGtJiKHHTknz`A8qLvUPD#(#eW*4rMbzn_ie+N+W$kcpYCP< zo+SI5!`}19Wxpl|qxH{{JztE89=CoV`FWSI-!DBgN$}VEP50As=U(Gt--+0lDPrGR z#?l^S?6DuBhxqrQ)Jd^80sb}^s%HbO?Ri#+nK-~U!=mX_GW>8zoFEq-gL;~=_h?{E z`4pG2hJRTZ|1&kQa2BBA9M`n1*t}CXuYi185=RI5{RejG7JemI@rzgd%wS8;Exm9! z!R5@qW>#18X!d1WV4kU`n6hRaZKLE%WTEzu=BXBSv3BNqCqIjE>S}yH!*HksP+l&R zXYPeaGY0v@p%h|6siqG_+?ww8&=+6#5{J0meSd8zrPxriUmr?}I0nZf>=^Z;!U-2L zr*?yJ`H}Ku@`R@ls20r}d*!^QPq8A(+YV;CuGmgbI#>uxT}xSHJ4+VX(q4y)Y>hx{ zIl9P-R*n~07YxSr>I?l(GcV{RXXoUWCC|E$Xn`Ly->B+}^}yC$N9)M|URm!HtzsAP zE`NKD_1`zkaJ%;FxUq5@7E*b@??tX&J*a^zuj{UX*v*+z-zm?9Q0tRsF{g0pKCR`O z97Vp#|1r4)MqO2beiO|AKs~jfh14o|?ebX$mCc_jl7!HMb?b0F1`Ac!O3~l=P`t7L z$}dEJtJ4D2EjV~{(cc=uM>#uRkUglKyMNW;X%EM5U~m&X94S;@iGGjJIWdbmC%#JO z`}si7f4N6x%b9X7yE9y4I-N8xOaBbrd1q>G-wQ~s5eR?U%uMCZG~Z1I8}M6p91+|< z*QJxj_w%Jt+E5rDVih;C0M#ed`pE3mS|4RE<{40GeF&JDTccVZ_*<>@5$8nfVSl$x z;6&?cY88iSyk~_IO#su}8gZiGZ?%d;f*;7!()>Vuwd<#Byld4D)JNak9Q%QAA>s#$ z*Krt#m61@ES?#>p^JAUA9{Lt!HMbV@{ffV@D5Jas`p}xvvNi*hwn@JkioTP=8~!@Ae?xx9Wi!3#wwGi3bW7R1Z|#^ET7cJa1FA z@B2}_Z`JcQMc>>Ud){zC^}KNu^-}5kae=;nCDbZW`+l6n`<^I$&jok7K;IJ+7p@42 z*?CWS?^Wu1FC*_gJN@2*dFAH#y_d1~KKjNQM!kk&VEB%RsFYze{3;smTUuT^YWL1xkclR?WVrN=lf{JIP7%b%Ke1DbNT*=jCfvl{Xp2@(ZN4Pe%j_TUn zUBk6GT!?FvODGnsu{q*2zJJW+t0vV1zwg}iT32O?8uwdUGs7qUUQ3*ty*^$)3zFRP z+=y|-ojl)W-H@Yz(EvzSRsKnszhH_Am(R?bR&A^PQ0Jn6z;#u;4y+ck?2C9Q;@}P6 zt%Oe}56Y7A+uUIn>1Upk@wgk)3}8^LVy23i6-8e+2dbg zdW3=Lrg1T{a$`EC1=GipT?zff+JmVroJ+DG40p_R+pLiV3`?4emz>A6es-G5H6C&D z4&g-#)mP}`1viGfu*CudggP&5vzpr8Ne9%e;(to<;!YW@vG-=_=OO0Sa0=1J)_iB^ zS(;>VKtT}r{*M1ZVt++MP7SJGy8(Go!Cc~Qj;61yNeg%!Vdf~-f!^DmCk}PpQF`J- zH6SV5uvM1B#2Rs{TW+;U#;^6EoR*5Ct{-vKop@-dJXDJK)jiHlYU$vNdc*x3V}E0c z)tSZbImJUl{upxrdR(``=-E@2hwp%Es6bFlIyPs)Fw|aV#ed@M)eqG*R;Yxet2R#r zR81GwyvYQgag&aG<)};U-l$FA%41fkn^(qHKK7+HyN9zkzRar0BFI@)S5c2f*;;J` z=L+coZ9ywP)aG|3hVqWd!B{KZ)A#LE?~>Q)BiCPzu2S!F0xqqh9#T5Sj~u+3F|B>@ zY9#WbSF47vwtxN9s~On~R$Y~5!Xn{InX^B(0;;`Ft$<*!9^Nu`!O7nz&%hg376_-{ zFAaaxN*=vr*RW;L36!FB>;`WewK+acr)Z`Iuza&;FMS0X+$do?>lM{q-RO}!-U|K) zU0>8Bx$8(3=VRJ)Y*x>(KXL{bc0Z?_z9Wnw;LxaS&3~Cz$gWxpNOB^2W&_eFEGrEU zs=8l~M)1PegEDhlA<~@1)ZE-$aaxV5+_!JL#g#%_0Xfwrd6{a>DDABAOa_Z$P>k-O z9GGBN%EBzYLyse&eQB1h^iioj%;nmtXhWO0Phn6jo#b_Jud0@$_P-OY+3?H<>lAB! zoDpRoMt^4L;_xgYT{79iZPs&XBFWM=T74JS_VF8fb|1dU*8n*Ufw%0uEI&qs?)g0G z*19hbO=NZiZb*hSeSyTSLm4dK$O{(nifKJwh6wuHLfd&Zc(V6VpP!ho+rxZqQ|9Z5 z4lVl$JF!eVhh^$VKY?#dsE*Qvv$P3iQ$9MOOMi}(7mmYk3=SNfo(aM8v{C6LHWTci zWH(DB{FbDg%S<8M8LSQm6GmCve@u5TW_GgjmXt|8TXu*H>R5RfY|3h!p}0$IYmS!o zldX9PfmN*?w&tZxrfqGhTSKO3cY3fv6Zf^@VLAQ88s@AgS;U!?MLYyi%PFyORn5n>`XpA-f=nt#tB$E#v9$^o-vzy$xBzgW%m!{9^|EWsg2 zcG3R4knayd)>4G*bFGd4Hz|{|>`2Oj{W+F0-I)eU30Jd^;;$1sNzlwt&;IDo3!1Fh z`3d2FM>NF_`;kVyWXR6iA!BFnS>eyuD(7nQ0mn>c=Z+-joKv8%dCk`InK+5$WPh?c zKAD7-iD4#9kIzcR;$Y4vuARPREL%nAL-0-h@&x#%TR@2e3s`sQj;qM{m#= zK9J7 z%Gg{;_4eFNF)7qTC9_oYOLj?LL@RG@CMt%^7u{R_ z()ay+Wg{^|m*&X6^Ozb-R8AkDvNKPuMg6U-YTc+PI-oUu~l?GB;Co=~O^df2pPo ze@{93yzO~sDVSa$Y*h5BmpewUiWc2o9*hn_%f43mwpIZetVp0i>yBzd{5v%16KT?N zF;Q|r2&s}Aq)9Gu|Cu&o;_R9Ko=xbK==w3yjlLwh?N{@*XWaZGrNzbCvCAL=4ueR^hT z``0BmQ*tuAFc3Nq?BaEVC_N!5W5v~SGL_+VM(hCnCywtKprN0bdgi|SjJpOQ z;(y0B)BOrbZGTl~fc9$Jf#AtGP2p{`*b6(5*W{AjN|j57=wJSkBodUD=xp9#;_)!_ zFk3=vsAuWkMfN8o^>-}Wp~G{WXE_bpauTnwVXL=|@4v=A7p%|hBdyItM8a9CL?Yj` zv$ZTOhIM=1cn(d+j-aZ6t4v6~)uh!->G#$?_osw{Ao)gl z^Cj2N?~SC-20aL-jO=-SjwqL;Au)TeRc)*m=3f*Flj?<1>B2eXgLPnc(NoF(8U=+5 z+$flgrGM;MkNgQpHOqtd^C`|}_j@DtS!lj_$6w}bC+9uxr)-wM-Zixf?}TyQ)T{H~ zlLw&VK@hqONd-!0Pj^6t25u_xNNqIWT(3Trs6F|K~rPQ~`?`rT!oQn$m@A^6T z&wryF1Uj*_x8JBIaKvX#*WQz|xzfstci}GVR6#$7a^Nd-jWo2!ta7V;D4p307P)i-W$pQ)399dY0^;KfjOY|$`*#Y!0P^$ zTcxt_;DoX^bs#kAJk;h^dN~u{h6f*lyG99Ey{1EZ`G2UXvYsI@ z>TYH~LDIqV@X}u)lCXKiZ3wyPR#`^_Hh1ze;S{8@1ER`8tpYCNVyy~B`MwMh1uOCw z1Md$C8yx!eZ6y+!`05FGh4ia|;AXI!=(Ph}bHhA{#d>JmIrZ`*Yk_%BHKc*~d*C^o zSwej-WmY<+q9t7CdCmzhnty{K&J)%eXMkHF)^LY;wrXdtj^ZP&1-f|z4|;|pDlPg@ zXjM|Im2h7zsW_LrZGYZkJV!aN;5iCv zsO%~Cu-_~?hC5OU)4bz+v<}WkTI%`eaq+415euoy6yMib6)+J^pOB3EaARqK+1>H% z>;nRUOs;_`lPAYmmrqEYw#t?^Pd!={YkaioyHWNFE)wLN=PnO3*B%HU`j%3DeH8L- zB5Ts3U9Q*y;dQXy?td=Bj2!n02aa}Tbtu!@+0B$Hn0%hG1isdq(ekxPo7{2HyeGFH zWp`mL%YjP{cT~SRwPv33Ks|hbj)BR19e#oZN7vpH*c$4dQZPtrBxg|3>Q`o z(Lw2ny2x^XU1Wti@@=U@<}5F(`7V7mu7_;&lihCVj49Jfem38h?S6a%Ht#PIC9K{C z&zmyz_$Qhp9yFKj4JEBLp;bwHTZVCOFm#UC ztiD!bYx{vS#S;NM#;myOLT#^F^p#^8gVMXO+8DkfW_YjX;UorwdUay8J^Cd74vy??{AwA?Ux#z#hv$OAu8hcmH0 ztk6AMRT1}SbBf;_X|pNbGtri)sw{1R*#e5T#=k4t>W-qrHeeIH=dXU?$#Z5pzVFfC z7k}88r~vn;!&`F_N$y!FVv)M^M-S0s{s7VEKgj8cIy&O$m~v0&MuC$ttbbs>_-ezO zcaohvk$)1tBjH1eStPHhjR$MLt-pBboQMjvp-R1N{mRih{u8jEZ~o6W|L5Q5|BN+K zqEPy6ghT4pF(rqTO((}&?tVIK?5g0DN(5 zN`H8J&fE`w^Q^xIadoOrpFT~1xPB>swy4{z?80zqIIQH-o;Q6LEgPSVUwZ*OG*Cd8 z-TQ#G+A{KNa~?^TW7dICJxP%g_EGSJ1MIFBK7O_IQnf@>bIU<)5=o9aw( zSEzFzvAkBaPu*P?lCr$u$zCDoKdU#qT-*Cx~wGy8|5_ zbOcAb6wn2_<*>vLdK2jXU4L&nMU2u955>8G&=^5)jW`qsb_rAE*kZp>(m{MnJca6l zOqUDD`V^h(Ex;rCLiCHRK}1Rr{o<7bYG|1MvUaW9;abm#sMJt{o5L#AkDCn5LM_H3 z-jGGy@%rqH4|^4`|16#k7_UFiw_T49sPnZu4OME`VODJ9IHDg;v436x08c=$zjhW# zb;r&EN)k;P_D-A zba;v~US`rCV2l87h%=6Z18L76yEciSHL~QQpY)2+zT9V zmZr8})N$I;eeQFh&rK%2wJZSJIEz=FW<+MvpTV1xH&}U{xCUC0o1G(-qUG7~41%X} z?NrS{*GV?v)3Mqwq>z77vJH_$npxp)&IyEkzsl21atpq|8aZVlPGf&t7ax0f1z6u< zeT;I{mNhUeYl|9$HE2a`xeM%TS8HP}Q^vcBDpp{^tbr%s+J;ZTeWq1dr5s$E7j%e9 zt8Ex@gP!r@A8hP-gHhw;w+EJ8!bO4}pPoDB(WAITMpqFcvuMSJYZl7CDt60qe5uGK zppNqr?2#1jg6ncq-N=6~u!BKn=Yrb)4NQ-7dcBQqrZpc@`8x-nwsY{M*j&f0g1j~( zHao_mzV5oZKdw^?lWNx3;&Ay80Y5-m zkQ1hI4y6%fwL*P6RfiYV9Ms6>b}bWxvYD9SY;mJe60>N$!_j}8fLD3K6>Z}K^8Arr z!k?svRnd5=m?@CtLpvFB};EQlBdKW}75lxbU-MzncGTVvL`8y|*Zec{yq` zXj62ceJiy<-F05AO;tjGn-L4+0Tg?VPvs=+|BD4te25i9EXiL7wQ}aX77e<;tJWr} za5StVP`Y7|e#w7_xU11C4v$k6^8P3tR4DCND1&O!@_o8WdR#PVD&G-)`vJMOZ6St$(2-^ov)+H;d0(ESW}=`@Q{H(-i?}P znKX}2CrUrWQ99A5#k&FD{^bZ0E8O&KW_6Jr5qco!#6OVJx&%D!vlz!k1DDJB2}K&B zpTlIh$<3{+BCQ2P#zcEUf@nHJl2|zfMvC@Rr^ansLuwAlF}bO>-ZQX-Z^Py^uV0cw zaSC8IqjrBVedkEvRN?}qISIVuyz^(7Gne7?6lHP^f1U_P)md=I=MhE&bI4(X446z} zl4kv~B+Y+S)HbX3EWT$Vy<7+z{Kw#xr3DM)2SeHm0E90=vHY7=?{DQ+&JABd!(@IV z=#?vsoOW&|a@N{{6<*Ljpb&J7EbV)u0fS0v4~2iCKFa^hRQP+^V?&_=<%!fDhTk3= zY!CM)p$<(jUzvYUiK6wVfrk9eFgb6j-bu5d=G28LSNv!C?>U$)Snh^Sxt8cHN`3hb zznUG3x?~uN>Z>a_rQkm!(4R-5hPirrZ&iBLFgm!-%V0g{9UwmKYnqUAG@`T}n@!u~ zi$i~RS??!0dq#Yzi__Pn#sU4*S0X)b-U zb-&rVf1BvO*}C6s-EX$;k8if_Cw1K4&DK4}c!aWbpMQj~b^nH=afV6^SjE7Y>R#GD z0ai)b0<5BA4hlS17tdka*aTMbe%-qOMg)Ij0|8tQ!FhPwGE3jb|GBPN)~f66$3_a1HAL)eAg_Ep3r{nLJ49 z#gNpCUK5AoRAe{6H`$!X=Jju~`B!>0LOpbq8fnBx{P%$y@Z)Y14csQ)J3FK1UL${4 zL-j}{gh0qPn)|yc&1-`pORQwDAWZBsKpt`Y<`~0wcbDgpK%E7S+m~gZE+Ua70W>EJ zY7+vgIUgsJkmM3YY>6VUOnvb{E8R;e`)>wCmfvg;47y}n?ME5w`RyG?-{{S>qK9H(r^W3DiP zlixrr-k3cVrP=jF4si!8FUoawImRJaj6Oq0xc0OBu3ajPLC~tx@rmvYMxbd^R|XxQ z85_FgyV%f{2n}uck)cqlT6ai+p|9ArYro2P&xW~_mZOzSs9!D5R#=oaGLZB!z|4 zLG?8@9Fw6nu$EdgW}tq)OS6;$FMVj28}YFn_kqw3lVysDjG77!_Wu0ohac7YKsugm}ie;1X=Wgu1cVCe43-rxx9+s6-X@D|Bc$rz}iUhBK!>sXs&U)GwqeUnEtT zjOaxux|jLAR8p7%PQ=$r3evg&Fl(m%@`-?*s;iR9%WMeUFo$KfXXz{;B(&kMIfjNl z(8wUJ<_@ii$b?1xaix+L9?9YLs0jL0ifs(0OhO zBGvh&yb7_B~Uxa5=tnQ>*VfGZGj19jcC_e|ngyCwSB7Nu&uNZTh0tdy6_p`bP zoJGuyHc7#Z-F9kLGu~P$vIBF){vgY{=PhYW#I^rU>q8^!L;DKr*sK+NwBNunr`1H)-QiTvFbSyI%DLRTuDNE{~1tf z2@RrS;$pcJMO-YEWa46e8b@3#kiMOZ_ zW9<=sx`KcD^$4tc%&IiXQLIY6EVC-p$JLivl{!s}_&Q`&(uH_drCE+@wy|9HVC2R& zn>Zc|Ux&>`7vyF;?yOchs?5!$I?pMu2;dfpVU&NH1w$I;lpJSgvl$^*3l>!-LdbbH z*}0+XP-5eFgI@doh?YLuFbz=$_a-bRB_8F3kcClH(wU8^#xG<)nqpa*NGMQn-xCU! zd%jFI75dsOF1@{mxPVM@Wa@Ud3$|;oo9g{fYOlYIN}BA8Gxek9Mx5u0o&Mx;S4MP> zxv$#si=QKLkCER$> zI~#_`hEYfOYvxN5MrK9h4B0pRI`*$hJ?NrA4$OvVlXLR8AgXi8Ha4A?;@wiXde4G_ z%Bw+E=cXXBI>{sE%ut#?OSbeeJC~R{Bd>pUZVjVW_iQGsLHaBlm06%88oNa!(&3$& zs`51EqcY*iUiHONCkyG(L;NB2s_MH1f@|nZ2FNTA>4(dyv|is#gX?uzfcv0JHFT8> z#-mo&AdeNi5~c&~KM1Pa2-?2&j`zJ?DkbFynqpd{osgS$4$ znf6)X67)2bzUOFEP2m$A-;h-zsZ@*?1fR1SakcpAd; zXnl6$Ddw4}G=x)OlMbJUGv@pc5SvN{$4w5#9P;Yat08*?j+v#DCA zm5wddSP>YGL67tIwrSia~=ryC@?_~o3j8xtWE&2 z8=oKMeAJ|-*unO}x z*Wys+Qnwff<{}w0v=YNLbn7jv2Bau<;MV>QoX+JPxT4sB(^Y@tD_hvNf+wDNV`ceg z^i@pXCPxUal$Y7y*~;W^VSM3!%UX<_re+~lT$6Wx{D7v$X><3uL#P>yROXLOqh`} zugMINjCf(g|FORPbeLgnhE3Iea*(QSBBp{?M$qEL2H z3)gH}aW$jhc}~wZ(ZMU?6$(1xn+|i+p;DloN?8hN<+D-{Q}#*vK1F=rHUL|`Smqh&@{VK5n4G1bdbS{^w(X*v%5BH} z&tRT1E$ljFkquFNgRVBeS)+fbgaH!Uo6jXx7Gjbrsn?i=6FHRtRXgf8rbtd57x+=n zF)4o)y2L#mNzu00I>1#bhz_&-XFAN;Nq(V*i7O0~VFQ28?(=?kI#4Uv!oe)R<^Km+ zX^VkBpJtFLMQ(i7df-~N}P`91DL3g{ua|2 z+s^fNAp@9lqNmOSJ@x-A_1C68I}ePfqCcJrG@f!42xMO66AkLmG7t(FfpLfG%W3D! z+&kQm8$frFRACO2UHX-MzXw|C4sAWeQ*n3nb%Ofxmt#fdC%9fcmS%` zktogsPV?2$^(7Rb(sqWybXuxC08H8Y`F=6@NV}&+cUe;$L5}|H;ahh7yukI1@IOD& z{>@0lu^(deQ{=Eq*Ib2S&FhLl?Sh9o-Ko%DU#@>%hNPW~X1IFM@#plFXi8rJUO3J9 z#WQ`9r#TOQf0}dp2}9)VK`=z#yroI|wOZ$6+(^RXdLM{U0=Ixgr#dW;XCibg8ip9} z)4-XpEpln=2eJ0Jo!uAz+ktr;c8OR>oIS?+{-m^^{)p`^naoctgA9iuj?=p>xP`mu ziRgdTb82j`{|xsq#UHStxxuO0RYQaQXOY4F34;2`1e-8FUYz2!lLqyNCV^u)4~8ht zYwcg3j@@5S4s&1RGK<{sj|bfA4H{L3xQ`0cZc&nc?$P1=92c}K)PYKQUjBJw5}V|)G8vVkIpKeq z39}h3`z_`$k%3Cle8nL}^X;7-gCBd`0LJXyA6zIr9$cv09$e5>f-=AH=4xJAigSUmP=e3zqE}y_ zV^?U$x8o@k9mmshC2}$n`Dm>gMJIoKxqY|54GTYpxij?UF7ioX_GJ31Ova4T!7mou^65Ybh+E z{R@IGYGU17rdMY$m54tH`g3z=VQcmc>H@pN-12D4yjcjxa=43LgB;gsh*^K?2;=K> z{5^~N5pfyVGetzLkQ~l92p%go2TRdY3KheD9Q-9NhFoe{{4d4ifaD6yV#-|Ik28KS z$_yHxN5kqq=gQ5Iroj`-$|#{l)Sm&wtH_EJuQGE)yvpe!r3<6OJ6^F)tD!2HBDW-2 z6rQkESZOWwz+M{9rs9}Semj58q8Zj3Z(xu#pB!q9J6g)D(L8Hi4>6{;*$@6|rt#M@ z%WUyyodNr$@^+hB!b-LT7kO zlLTXonFssVAFIAH7GMZT_ulucbzXLF2$rRiRO44ww3wAiETv!eS?+({)0yyJY2x}8 zh|VXve?33TYW*h-|G|m^DaF1q1@3ofrY#}5%vgiAY@{th+gVtIR#XZ{~;h>V^#_K>*oIqU=x$jZK(V_v^ z)!gJ}M+-C0g|kdFZZfMJ?!1~LRhN(B9k5807Y`7Ljv{nVI}?8#7VcR`RObkM3%Ss? zv|a53Y6jA-zX2d%ew!Wyjci}9ll1ofTXUrV*3;@Cp;=W_2#UPcD?m1Hbe{jvxG;bB zmfOd*)8{|X`dNFlp?ma{#cjRF9OLePbnCOm25vPoKU});Zj9tC%52 z@WNigH_%4(^=W^+z|mu!`GJ#L`mEAMce*dh)57BE2xbsa^-Nz)nTR=2o+K3zKCNI) zU0Pj(k>%|w(e$H9{yB6K84BQSxb_D)`3MoJtXez$X+{F4J7;@p5&N{|f5!_cSl32f zx05Hn%t`U>J8~gT>_AjVkMwNLN!curld=kslY*>%tsj2^R3Sz8gEq3OVlt5vpB-hI z#Bp_b9=Ewz`o5^@n=6*1vt>Z$CwPt+9J7_e$jlnUTSbV$2e{y^jb8`%XuGx`r~Z=% z;Xw0|Q9OAd>P7)F8AD`wh@v3deJu)K3?ZeCSz?oxhH#eO9HJ$qT1B0O``saE7BzJi z-j8OHQD=YQ|6mrL893MO>G}SW7aj_fhbCqb%=80)Bx(0yP$LQ*t(A=meqqmV>2}U| zP4gx6(C}~#Sy6BVi(dsM>~#}a$ui@wf@n_Q(8P-~w4PMpvkI*_!9CAwzy*c#^ZWIr z89O6zP)9ADH%A6kGk1gRr&j(}rAOo6C5ME@X0Cs1y}hF~_Q?FS)^I?zJun1Ul()3I zV||s7!j^i1w?ipVy@2AWtA<~Jc%wp5y`+h4+?jbz@tl2{QOYJ|UoLDCTP-hS>KQBD zxxKIz1If((3G~)6rN7e!`%fu7$}pwFFDN}Cllc;*owq9}9T26p6%jf-gD;e}>S;%8 z=~RFIH^?uUTj5_i=$ZJSZ~pk8*9TXSpRziQikJazZ=O?VwTJ%=`d4E5FaDVRXf1dusnEmWP|Is=6Z^`)l7TuZ{!5~N zN%%zn#ToiPMRT89IT?r@iy1V~!see>ah88%UZ!b$#U(u9ipIya9KWyf6=Ri8OIf}C zx`kuljDl}c0L7H2K(`7UsORJmE*yK#G^odF_547sUKsAL#D;6t$hP0Rh~Oai6T)*uwSObE9Tn&zR!KjC_h(_i`!h8waap&*Y){?)R z?C6)xKt=BjLh`s+q1feA6jz03zN`HO6xa9K=WtLdZ!hx~f=ZOz*DdG23@VlK98^Lr zz%~Vy$_OZ%C3;2cy`z9JSI;ywj_h^`Fbl&L%ps-M&cq9!MjnSCbGoC?sT+UK{f+cj z{Xccvxw!XvwIk*~4b~mCY0?uBE{{WzWpW(0ik-t#SL0I`{`cG$vr~8`pMMn!%9pyw z7=RcrRyww^HbQ44vH`as>l+>8(jZlY=Be+q=^6od3$F4H;`3N`)Lxl0QP?r=CX##> zD#3Asnk=Wn<{HtT&*HRl*6x3gaawRhX4RZ4hCC4Rq8r%^dTx0Zw^h9(+}61FWogrr zkVqo_06&fVy=$hTol55mtJfGnR6hU^r6ZftN{XhJ3B_rji(QO00_11=jwSEj@h#vz z!8@i9zN=G6g9lB31Ujq&C?$3FlXzoF0m9D&AYxb14?+cq{7$sH%x8Z*R7*2|)2BO0 z_=o%9`VG8z>PO>|UT0A##?~u$Dbdi%xY^33gULOIfA(b5}0~Xba8CylZQ`Je463Y2YvYD zBER&(5gr1>Qi_^)x&o$h-yk#saIhYNuR2pgZg)APpnGVP=zmx^3`L$;i-|^eUMn6R zT0yHwZ2#$bpZ?ye*!$bf8N0e`Os3q*Y@b33b%C}blpFzuBAb6oA=P+^j0V3?;RcP= zjQ|sSAlCG19!zqiP7*-kpU+YWw#8HVymls3?X63Jkq%8E+R_;jJ=)Ycs6VEB#| z(#Dn+`(3Sl@tS`n1gD*Mj3i;q^a+HlPf#!LhJG>tVszp&=8ypx9C60m5wnqf z^J4|0C!3emdP+wW@X<70NWZnWR7TG%i}ZnT9A#u%pXq;28aIj?)3r`@q zLMIiYrk611?g|m+t_+q(1D1`fW57uG3bBoE!?tNEIpD{vy(W=2zI5H6%>U{ z>_L{IOMrm%^d|{5q6@kn2jIKH3AAoOsfdBz8A^A~ zPKS-Nwn&{JNWUhBG_*4uX7ihVsp2NaR5hR*=~SG_OlOJ;>{NwIAWVao#do|{#lQCz zTy1}e?N+UmqR62!#6*w(z%L>7tgMfaxH2`emxc1oIGQ2Gkox(;8sF^img$SordyMF zO>Rw=0QlCJz%jo(CA)Gkz1?3ZiNbt|Ryd}->VA3uP*1a-lY?08oSt5!XX^*2aG%wj zO4^!;X{$%H%_i;+onG^g(HZz!*F8_qtnq(eOHcbOJ?9i%u|q|zkdXXij=|>d;j-1F z^qW;HC@5%EfLrR|ZOrNNgOou6`lp8)MhWpFt*vOHeRF>Z?$fQp;doa8-g7Jbk-C?8 zk;`y_w}AZ#A!o1Ai_7{uxiXFTvExmQ{_C1N23a#U+Sck-7}p0ZQ6`X?3t{eAmU({@ z60IyCgLFl##1aLkwdJEoT6dg}HOCinWbb4&p_^@tU^r3lmR6oMha2q4lPs!T*mFv9 zLBj@%3YMSGH3bz$G>O1^3Ve-atSJ*|C@ zz=TA7c>*kWMCAb@DWEd*rv(=AJO_XOE{Qt6I0gI;q(ar$aBA0!)HtX zNlLS|W{bw1_x}%hFv&*Dsad<_h>_!;&P9@`DlU@tYJ0BrL8^;{BgpETZOzIHeE&=S`~^J`PG=h; zgD9mNLohTFXHt7}c1olj;>~|Fn(W4a&)kh+H)8Aa*pZbv=f}#bZmewQf)^_*;*q2e zE4z1Ljm3SyuQinU>+ivqCqn@bXnKnKsebG(La#e}gzi2s#vVi6TF;roAKL335d;h+r#lVg8P_EB-_Gu}Ew zOxG1V6buzZ1T9haxjmt)`Em;%yG~`s#s-o=JtIfB>$&0Fsv}N0w1;}0;^1vHk5jOq z`TWkg992Z2CatJr9ytRshq9f6SO4~1ku>Bv5Clm5_EXcY{#Ay6_cmvo|rtj_R;yI zy&tsq3dBq-)%K7hQ3h39Q36?N!Yfkl$%?8T^(IB-=lv>v{i}b1AFqW^e{QYx31aQ& zIZ(ySJ}*qnA-#yZqDxFibk8yeibEamdak*w^3530e%>qV~ zOir^hNN9N~^4=BVy>scDSdK9+vYQbg6HIq?X}T_#V@Xs~hmb~BpOlq)Qsjt}u|i{S z%oIy)Y&fFT^&2u$?(10s3{j?CBuWyCPqSTF2zyX$6k>k`Lk^wA>XZP)g!0lxdZ+xH zyeu+iP$?!uZf937%ZwR^y%Qd~bv&oZkJ-Vtf!}r4h)}<|A!yt>+_Wc6s~Zi3c&7;Z zZw2y5Y!C77jWwa3lo>0Xk4L6u*!lq<&kEHsYR`1#vL&Opr6+N%gfa%emFaiY;lU|| z%XPxs{$PK(dA-bAMf+zpj$ff|OxPneP`SWy?uJ6)Z0A zxJH(1t3v{fnapU_WOIIN%phveTdhrrDp9YR>yk*Bg>(-@v#9>@EO@iQ3*Po)Yi<9M zW&l?ingf?_oP(NHG2{U3^HfUY$I0~igfZZW4H18@k4%&W!?5am(mZHJMW0Cv&n!2` z)r3Y*ob`Lw6*7hE!P-^!(lb&$R;}%mLRPZU^}DlYcFhu^ToQk2+cyB<{hV5bQbL5| z^So%Veciz9n`8^OH_gAXP4SECjE>7eaWXe#e`l0Ud(#^EMu4>A8wXX2EQyCn+cHH5 z%8-ANXZd=9u~>IARxqy>7pg-KGD&`XW1@8~wwV>7(3`3-RG<*!S+ z3rYK95w&#xqCmOgE-nxKz7yBDtjtBHV?)~i*perF*znq$Us!iE!?$^vs4)|ZGE?J0 z+vq)o8t=yVeDk&7ar_?cO>)R=nwPU6I#L@ECj;mhp7Jr=$d>}HppB|N2S%Hbbca%<0l zl}x8Gej>%l^1_La#t3_c@9V-V?=OFl zHWU+ly%B!=b!3XVw;#$;TBv1KFpZpeK~prsi=$tenrVyJt9s#{Q?A?KWH;KiZkpOE ztD9jHN(NBBti&zIc&M7#fO#WBEvRaC+1ka+8E9qpc49UDCC#<+h7F$KCXiQE-`3T1 z;Z#LAQC(db#(ZgPB{b%lG?iO=?gM}7%Dw;i4fgI68MRP%YtKExu^x&CB}0 z@tqiGZf7I8z^H3Y?=Cu3=XBip1L}s+zNeQ8oBtK3YC58BNU`OLa5%<{cHVyhlz@T= zJ${{Z>}J31g3W*%1tRP7?@?&#de>~K6L!?Ys@eNbNEj->jpae|!vDn3px&Z^c zw$XOZJLAP%IjX<+_jUf>N=@b5()CocMbyz;>!{CLlS!|0Pe}T-=yQKXRa=MRjxNO>bM_`%-L()D{G;-VQvDbYH1m%2hxy4j{^U4vKb-(G*hv-@2nKG@6PU_E zFUg4HYeQj`Ws1Vw&+n2)3!+6NowZfQnd{(h9+$)19csfSYr~CU8^3?s0p8E`Q38R? zBNnZWK8br$IyjP5eTc%F1*5J?^hiFU1SsT_OX03fca*}~|IQ3&C`RT)q6igL;u+TC z8J6}l98)CAyRA|#RtZy_kVD05&pIhgeALCeeZg?{(%~#;jgV%UX`sw(tl}0X%=2fU zTZY@!kWihqwp-)O)|Y=ry!CU1V%BOX1Fel|V=Iq&%eOc;ueA%*@a*D4KC=+p9X3m3 zxhjdsa8(k$n3G@}d!|p#GcjHVY)GEbH|-&7;BSb{;#|J};S~vwE5z06*WQ`vx?gu` zBwXwC)_mXNl8H;AR;i}ZQ;pygo(^&vE);Br!*$18ZL5J6eX@USwLEaKex_PM?b42QMDVXsaHc$KuuyYrxrgqrw*K=4vlFC zvO1CJS>avE3(0?$TKwFrb-`%9$WhA8A99qE364^1)Z6j$`kL7})j*X}zYwVQwv+gy zT46IlgR;vUWf0v{6Ivo7j$;*7H!rb{kXu4T+)3-9YOvY`a0f6Y9}kIh%O?)*e5pkw z>PrT%wTn;y%$N8mOVf%CiC%o{-lEm%>$(DEDIUyviLifVP=?5m+m+L^hF{rZBEl9X z8pJ&yhiYq!K#&6RFhhRj;Ep?5%J2gn4ZakvIi&y5b+W{|o00Lw0h4Oy&Ir(apv!$b z-pGUBosw!gxF;ocbx>#O6l`NlRq>`qMftKOL6-?txNf~};$=Q)c>yoW5Y--4ya2i; zbY!ArSMz_Ywns4Nv1QbVl&41#~9jUUmG^0uck%6UE~0Cu0M%EdNm z5Gl>__5h3S>(3BoOe@cXNnJBJe3uib=k|eTCvjpgmEGH!z@{x5TugY?kmZGm)|4fr zW$h5&+$Bi0AzwqeqZ;FtkAz`+vSLKCE!z>gZEhW*?hB;n3Uj}-DLdMf$5(igiCrqW zIop36RF9E+a3iP4$bLMbj}%viL~p~n(AsBcc-T2>1)o{8A3d#G(ouHAM)%s=4WSr@ z!a)8wod89KD#tIW9Q;MzT-?yoV+|%v5t4yX~6kV zLa$k_OODLF{I7U=k*M3Gxafk0Eb>pnpiX~~eKYqM3xmEET4m~L+21}!{}h@Fv10#h zTf6P5EaG>d2ITi-e+AizSfiNiZcO%);f~LO?rg6aWA1udS?{WR_xFhkI?O1${y-e@ zk>v3b0P&Ro8_~Io2lHmnSmKCJ%nf+6Z?2)Rj2aHuu-h1BxHADPA!xJJPp1WJK+u{zv!BtS^QJpB4E(yI`M(soVzto@yvy;qH6 z%d#v>vW7rIiQG(Z@N73YNdI0Qgf>Up?yIpiD`s?`Fk(*_v8?-Lre8NhmMOnq!a~Ql z+)gp7=VmFh%)pvrnV}tEnUOuiGN*r7RL$o_?V4XMs(Q{uHsxdR+~(BD8?$kV?S=hF zmcGWZVy9uFk1QG^B`Ap1k7wg?<oz^t(Y?7|xHH$4Q zmQI?KYc$0O-6#F}`zDG3)0%&5!?~oet)ofpaRpx7JBUliKEY|16Ess^;=}uq63tu*wv$wA0bK64{;SYAqm>@z&CN5sM}b!hGwTHeYgc zH-!bwBrQ0;3L?#wfrMqdwN)vYJ&9-~{4$n#;9fA|gVL|qFzLl4)GB|&c+FncDHmRULJLm z?a(>wkHdGKX5^Ef_@IB{6HNTDlX1o-!nA0v6nVW^MG*9KILtC8?ybHDm4DqHoPL_% z!`60Slii6bS& zR9}YjBV;&cWcg|e@1hPpfG#>N-xN2s42ue+E>*%8S(U+x@3Vi*tf=k*ew`m*cH2MQ?c>q;bbRL;H9_P@eKQMlGKy;}CAU9Hm{wraN zekGhc>91QRG_!xd%P^1_srsUs0=rb;BmI*;O8=rymcs?bjQNyO)Z_OXS81~u$4EJw3(DyU(N7ChYTbK+Z6|S2!Gui zf|&wkXl{7*1%8pPooqlEATr_K;LK8uSE@```=E?69Ed8pXf!G9@Ry!oAd zIXbN2bgqdqzrzTKELrpn#U`p|zjvH`h^y5meZAMtF{iz17Xbk0;&0dO^xpsl|DH>F z35bWC!N}wYqg)mIN z;kf1;9z%bV64~TR7gP8S-Fg9&x;-XAE|%IN4s+;NAO3R;#dEikxqN^xOY-FcN^b3e zzGyE@?Tf-58{WegMfqX_)@#qXP7N6khx}yUhWa@ya6ztEhPXa~n0yIM9cvKCj6n|1 z_<4E~a26^Z#zsP~?!%ZTYxOtiMZOt13zo5 zn5aFzRQl9QJ28;kpN_4vF=Z46l51GIfMKcCIZ(_3iYhP5n%99YJWV73MgpLyeTM+~ z6;nX1U7+9H$t5&oJCJkaM+Ryd1V|ZyC>wv*1C{g$fi{P5S^Wh3_t3HxB%bl|>3D$| zw|Tw+IxB@YfWcBn^D0Qc)}Z%(3i@jXaT1`^1@a@5XCI;T6Ci^=C)Qf`oe=Dh9#O`) zBpo(du)6^T<$s{ zmG@_0Ya$=J7>j|mD#+#K z8c%r4SW;da^PBeCvORq~KR?fal4Q#~ll^-p)irKw>3kg{P_mAzlVyw``d)ug*`^QH zv4gd;Gh$(Is(dS-n1ASom9m#135gAhpEh!q;}1VI+>uAdJUPo`LR=y+Vn-irAqA_mivu@C$uj`fXblb`wg49 z&5|uewy|i`VvYsaV{6AKsVsl3Y;-r|+hQ{f&791Tgh?G4vFY{Gb-Q&$*WE{~*>$#j zLMBLFxmFDzV591|HraNUPP9Tc%>~C3Y*o#y*$LG}>I<^_eUR}Gw?e{aPtAAY^Z5Xf z@A0%HOQ?OlgaP^NS;-PQ#vO3HWap%(@m8<;zJqZ1ZeQsw^w~-*@AqB}@q6{dVtcK!ev!&@&7N>?zE>t@>7OI_c*<-olK=U!YS39$K33~%O z;=s$sJEGRMncq^~-~ne^W8E+D#pxJVlrmr_-Zppd&XzW5a?t3@+WE6Zew3#d<&=FM z(=-CctsL@QpQf*&wrzjm^8Ml;4O>`9yhGiDcUjMy5cOP&_JEw{XWp zdZ~)ZBc(V)43sXt37W>ev+n`5;2?r$c*=6qVcJO~J?a}9RCBI>~yN$^> zs4f2Z8_D^yz2_5Qu5qkFC3%vP!n5auswM0ZkE=ju*3*eZk@!hzS&T4^#HGZKvaZUJ zJRvr~qMzwi+03i$NHRm^we~???UQy7|47;kBbj%iwbx_e{!mv5(rd9M!aV)kDVM-w znZ_b)%FA1h*HeEQYFjpLu!K}mlg9DMWMjc?6`uQgSpNoRd>Uz&F=7^qoS$l;F0}mL zuYow9Z;{>7sdk9h&8>|YC9^#no}JB#lFsIvU(HtA>E-0%H#zj!gtAk6DYb_mBX;B1 zSRq^r>=M(?io$ZKmtEZ*VSF{}R=#-z5u}~q$xE8!mDGPsfD@J_Np}kSshCvpPW=$; zGur}i?(K_6j!m-g0he_cQ) zPNa897who&5Es0#5-?+~HVomSvf%UHP<0=!rp1NQ2d0ACHSywW>$@Ej@T`oq$~^i5 zQZvI;!Qzy>2s@cRuY?Nz!&CYfrj*I#zb5LM!Crq%tyA2`kgoTZ7!&9r*`&kx%Kv^d zwRVUkGer`FLyop2Xw=~Ma*IIx`dDK8il|c%pG~wZl!r=#y{acPL3yMXHfJvzH=Stt zhi@YLWyVsRHB!OcO7DRCeavMZDaF!}Rgd^WpK-`bKTkYp;7nGZ!}CFIrGu6J?%u^8 zw;+GT;1nnC;SPymrg4M7ymvBS?91Vjg4Ao@a)(4V0K z*7nYWbMbNP(sC|AMymu$1R0%;URuw^$#Q>_bcS4UK2_8<8G4r;x(?xBt{NkePLLM- zqj;x};+n)~d=~3IsRU_m)JO47RTlhSYv1%GjVHo3CyA&8;K#@ZH<9({A4uJP_;I~H26c}uo2i3Nyqgc?%|d^& z)5YvgUnK3NYPh?QkA*sc_sN(H-3N;Zu|d9yrPYR;~|Cg2&WuM z$DyTrg2JxL_fm}Jss@(bkLK3DGU5WFc}1j=Z&SJ)^mAj<`sMQ*7ltesOreOX!40qK*;RjXs=I>kVNq@D=QA#b>x^ap7Y(LW#6>JI_XJo36nauF91k zApI;k-kFO`d7EEch~z97lf!=o9c$E6d!ernCPFrs7HsLsI#%`);hxO^v)Oc~$ABN& z6Tr9SBwSJFT+)htq~j_w1(J{=$X|^?(9A(2hQQW{P80Nv189k!?lS)0Wtpp182&7~ zOT%tG#M|d3&YWs*Q}Q80ut5!A}aU#aqL1?x~g*efaeJQt}o#f{@#gjz$M%H=&Zr! zM3G!8FwKo*&PXyH;u3#ewOGfcHuSUn~*AFQHUmJh8TWY79QU7+b7e&5Z&2J>axbazgUGd_pt%tg1p_;{l5`u5U zLUwyiM|ES?$*x#y-8UZiqYHD+pI2G|45$GPlAb#9d7RXr;@2k1!O-{%gwTZ)LeXcb zBhdjigCwCBUYjqte0)4~d6J~OX4b_hxX(j~=U!b3YouPpMNNNSyx1GO1T!!j_Rlb; zvX&}oK$-OS{dD%n0r_cPEe3y2IGDb$O+ielPCd`A<1b-<^^sY@KbTfP3gukpQ_I+R!pQf#XsG$J%S7zzO+t#u53uQ2(pfN(mdj%g60G4 zB!RTfjzhe1sT6-{4t+9+$BF=kmQXTho(!FsQC9N9(&uV{vE~DdiUg`U6wyYj=Mo3K zjr3k~qD1pMY$`ix-THKG#i)gOMYKR?FP#%ZOGVnt@&98DD%N(K3foo2s@NjIbD~_3 z^jJCa$no36Fv2?nRi#L0CwKz&jN^B}v%=(HW`6%(y1{<~-3A`1D}l|ZvZ!}(f9g`! zX+OSTqBF@+s!fivF+WU}7P;Z@9M|!QjmKPP@>5)=irwfIlSt=z$UxUr3ClEVY~nJ4 zrYw99;d76a*S-@3S_s2Q=D;~RJsg6+ppZ%8z*VbM{uzvHlaR^x(&QtV^O1aDZtu|V z%kg0KH~D`SEWnee49FVo##k>$Gwu9C=qZC~%~l9@tT+uw@>L+JfL+?S#o!Of@;?J! zd5<{`<&1<;x>vfT>3C7#94SGGG5@TRNR$kiE6(7_fR@V5!D!B9P z@`HgaKfLCYrPrAwJnz8D{&M~Vi)zCDBD}K`HAH{#*)btb2)lf57pe@1o`5)G5GhMv zleiHFmtJr{ov~<_(5Kw4g1ic0@197j2|c0YcEeu748jyFe3YYc8v_ zzGIocE5@b+f=h98a47oje>>j1^d6_aPM9& zgxGxB5E}zWl&$8fdL)+{!+ogzf8e+=Uhzntq=fl^Tx>GR_`v$#=}|PYI5aV^`7=m&YWPcP7nE zWStWQxdaepfXs-3KaWz|@Y=0CbDL3n%CjAX08c=$zq`DNs&$x$tWY5&yL?$+W+(bsrDO^{MS(7pA?$*4_r}UQtn%KHISJi}}C0d>&09&%F2JF){6B#KA)io3 zFrAiRI+cf5PH{3(KxaYK#F(%q0<$J2%Gud%);FEKD~ z02tQ1eV)5{{R8he*wI^2?!{ncyv!hnstpW!gT?4*P`x3nAi-XX3&AWDHM4INNy^vClk$d(iQ(+OS z0JyqR)%^V{1Du=LbsU+O7aC4~TyT8DrTqO}qn&f=7X(Y!bEEJ`@k7J@cAnsiuecBn zqu(-gEpZXlR0U35iJ_}x3yF_m=&EuV1Kn(JDTF(#}qrd*~Z1 z)!0YdbS&l^#E;Jqkt((Buy(yxA(Xz2ihMfI%{9Hcn}*YHBrN8uw>Cf0NV^p%;uwz9 z?kF&cMP~8s_c_>)?f)Z-o>XR(=Gb9zJ+Kg!zk~WWdeG?e0*A3^ML9{MBtK_2;*73{ z&G2M1E@(4sDkD(fBz7ZzyY>kCav8s8HYdi;?m7>4KjkpI#`SL~PNOGsL_9Q0o;t@_ zDv|?z^FM!;?)fn(zDfnRbHGr>xi7UU;eXAmzJmDoOixyxB7kBMye7m2L@ z>qn?iJi#?Gb>FZW>YKTPJR4;(?IoDrT4Lklr_!O}=ta?s2ie_EiYMO~PT-CXl1(%i z(PN|QHRlV>&E+us(pO`F=)Fws$MQ7T@ewHU%%=43T=$$GH2#m z=j{EIA%Uj5sjll+RmsOH3Lmx3fWn|GVp*jxp1Ehs?=5A2s9nN6+;VJEOFn3A%(`&4 zEnhx!IQCrz+FQR>Bj4z7>5SV-+ zyIovdx6{#X50^LXRIFRatI91U(hZ1~vu!JJ?f}3g)nQucAG=}2=RN0~ z&U@IxaeuEv)G)RaQVpWU1Z|hum}C2NbxE-J`07ftPFL5-RX4ectcWqL>*gf6K9clN zA&hy$n~@uTSo|A@bIe259|dKtyPy^i94|3a^kYZ(3=VfTw>z!-iYvaezI zuk|3ghRMHFB;vR6^ksw>AM^w`PvH0eizxfC&tZj$Z>h7og1(>n97UZax1%@9*HHO$ zpJQH&WE6a(t7!c^vlXsge9RiXl1+LI#s5{b{u0yMnfgM_ToW?IJpVgLYuO)5RB|-> zLy1#=vSg-}R7N$8en0e}l~h?lOthCshm~S^os(p%@J6u4v*t<#&v1+jnP*4L6Q!7_ z3bhDYyDejf;6+Xfb)B*(XInXEr?DZwYrW~g|JvVe(@fZw`TtS_v)iR7GG&V-%^7~S zx{yKW3Lwpmyr8335TwC%OEBQ30ag-b)s^Ib%+e#2FjcoMa3X5fM#ZU|otJ-w$ga7x z5B~lE6n4xm3aC;LQ99U7M(MFSL@$CyFrr_pCBAQ-I{MT@QJ}g^o8fD2e3SzIpas|8 z#6HvXR_?i`S4G|6yLm>zDIwjsaNZ;bE}(P=Jucb)B?J>EWRJ~~PHKX0xi<(Q0y_nN z^ytct+;5LNNQw+=`MCltdU63IV?yL~#)%owYFqabXVx{Ez2vsUqK77063AdxqO**s zb_{D}=E*f`JMcHw>KN29E_rEA&HjY1dx0r? z$S}u@Fvk3WvTbiCTZN`%2EH-KxauM%f)`N~nf2GOZvRYFehrulXNBV~FS%=fZY8KB zc&n_k#%vAP%AAcfi*=2-vQg^j9NxU4ERW$gpbUNmaFOy;7VuBdzn9Q|ndo1Zv$tJP zdzmt^j8%tK_bdSo{LWbA8)MVoKn!rvI>k*gkQ9^k0gbZ;Qa@P=uSSK;*wVEBIxD$Q zU7j<+keRCNhje`H++3kdK3M600m0Q%B{d-n7&MH2V@6?u+vXJEf+s4y{7l@wpV+<| zi=&n|STta|d6i_**B=V@7lMyQjDow~TfaFsEeT5dn@V6d1MRlg3DuA~M-_s^? zt}pdH@xA9>xKy*frQ-7Z=?pO)uWFRDGEh`=%@V=n9VbKjO1+MkH4LAB!=4e1>Cr8Z09KtmX|vr53DA3dmKXXeN>X7{zS9~WWJC6*N9gXDD|WXt zbstcbt{0fd2I})!cyD5%7;?P)O-6Pe-Sqra3|kGZqH@N}$|}W?)+TlG*dutESe;cf ze-BAlKouLZ{$pBzXLxRZ;qn{fbM*}U6V3Q?O3#W|?bxYN-Lz;Mlba|qPfnH@@jdj# zIevOhn#}$99hUK1iD8-hlxnnxN<5fR4V^`s)5PY)9I7|pz~H9fX)AjM@ZXjoON(0O z^LeQ(qIrFVw7mqJ9K0fP;zrNcTRU zw1=iVX`PrBrdEZrBV(!}YcMqNyJA*RimOq~Qes`z<{c~7E}aZRcQ{Y3TXCf*>I5dq zV-&v8?7x)SO_v#F#XG-(--RD4|8(zEsK;7{K}4u9&|+KB;TZIp=p|Ep((XN_IGPh| z`%cWcm!(F<3}dc;S*8Hi)G9AhybxtKXLeFOeZy6YsZ=G&1ol>KO>S$2v@T+gfmrgs zfn{=Km61$Jk?PQa5`tFZ@DrvBm)k4|4LjA4(8*JkG6q!g)b?kC8PE~uRF>?aKBY3t zKY9q`USc)DX$xr+gf1d!>9njZMT~EHD=hZhTT6?nnll7{`!`}+h*Z2ym@zk>+q$z{SwQ==l}_G_Av z?1+)nES<(|{n*LFSL?BllELt3H2>Dm!rsZ16++C6Df3pUrjZVVgd#z1Z8wk;Hg>bL zPR$jlXERK79nt=l%#dwGF~$jX#RN4&yM7vcR#ugr$mEH|C;yUI@T@Arh-K@jrDaHA zc;dQ$!q{$IOy}I&2?E1qaOm~Q5W8hcpNAc}jupC@sHQ>(=`s<`3t_ygPOUw*cJxGK z6v1i7o$F_{w~1&94Zd;84~$-}J|D$o{j*^1fZ(9&x_6vb3pMreB>z%Pm!)u%6>?6+ zGV{yx4Y#GH9ztF;*Vx~E;!ypF%sCO6;yVj}3;j6DXCg4c^iJb_p#%?mh3I$5+=@?; zZ$2U40?0RO?^0s%LN$)dwZ$Tfy?j%xb4H_nf!@tlsG3Hp4-o)Has9e z^OzxlJ2$!X9Xbe#gc&i>EkqfL`|%%=n4gT=N@Pd|O|8<&7wWVZ8&ZEv=ZucT@;6t=9`4Ig$tA%)Wdoq7MG)411AUmO8 z_Lds^AM-H69&#))z*Rg^e1R)tgRw%(gBrTF)o;1774u-LaL{46QfH(?uuaT0QLo+0 zzK|W3P1NQMWlFu2QnRQE4)jicZGXO$JP` zqimp|RKvtf5EBR|4m4_)^vXyExxwO|5ex^?um=%Y#2(`f_P7|MpvV{;csytVVnFKLz^#GxF^GZ0iKkj>ttkYDW&+Z% z#B-|}Rt!wT92XZg8FCC6(=f%w8Q+}LATH?5Kf#_P%&OF#X_e4TPcL{6M~N5mI5P(1$LT+Lg7zoUBe zcj#S0a}P_^Q$d%1O1EF6FRyoVQb!O6+0NFU)Lmk}R#T>xKNtt8u(Yfd1p*dk@3Zde z6vXojRPBl_k|{gB|0%LQVm!$~=-DCt7PSKpv)P;1$UA0jIhbNT`Pgo}fuax{@Zc$3 zb1&NiIvR8+pDfRtd8D2PmvJmo7~ksVg3=d;XKr>iXYi+gaUYpg;>ROnJNp6w7L-xQ zwhWn{eCG#B@2#8ctt&E&ZAS>_T{y1b4LkTyIyd7K2f)4H-_YjR7p zBU7Ut>vYpQwnWHL9niw4YO4y=ywr|t(67m`BtlGnSFS8I4wE*Zi z6lEmYkZ{pOK>Ajvu_x8LYb*&!_t=!(xMTT#=IP=7eG^khJ1xgmB&qG0yJd3n-(=*J zSDcZ5gGc`%j(8xSLWk>pzZZIcI* zY&w2-IeEAK=iYrSlW*y9Cg1EUhuEj;jHO0Xa=G}5UNg-_}5LNB$=W&^5kvnA5N&|37k3}42~TSltck1Nfc-p zy@|Css12TITXTwTBQR8=Y1s<2qlL6?>7%)!)XWiMwE{ASe>YFzthbZA_IeS2#9xH{ zH8x8=UkBp<0=m9GId+G7F?vwvV7&|9EUA!ymflqf`&yWX)BIj4QVPX3-i$6I?9XF{J&O(#T`h^q-82UFtk`A622V0u!HFK_HY zZtS%lPWgZ%pU~#e!by*}5f0~noO)R^k6k_}Z>30W4r2LUnsG|ZlU#Y8e%+CyWa!A2 z;_t2H7aD+lA(`b;0?Fl6kxLmJ|7??lGCsw|)C228{*gJ(^P$M|Ffy~G5+ufCa=)3xLbYRLQ;}SR$xIW?ykT0u&^7f;vc=cz*D)Q0*!-R(hgI?-hnp%DPV6>+p8eC9PHH^ANnk15 zmRk{ymvU$BJOH7puJ~@IyBk3?juZxWu{F-c)VM3sdP`3}`FF~_++=-cGTu7jV0({g zF!Y4V9@&;(n{IMH^32BjBzbP1N}ikICs>V7YKu(&Q@srvY6c|FOn|+%v${ND_DWP} zsszdWJ27ft)^?YF*z|&_0B+(H<0!~ZUwu*w)$HzvAk z>*Ao&Q-!3rKt!*KJ8b?p7NRW~azrX;XAL#4pSe4Z-#5AwYfNcRH-p&&@3D1?yH614 zEQqr`3iuv^Yq98xU^!@j=_QG{G(S5Vpg)36OtVv_ereBtJ2YYFyCE{;=P=@)q_4Bt ztim<%ypVz1hB3kM9b?x<6YO}?I1OlYwiU@NY?+g7b7*6j!)Kn6x^vv5!D7uq(Suur zGm-2H^+^|=@K(yln#*8{WRWZ7HW|Hr`it7eGd?4J-=hKk?x!gudY>|iDrF4)Pf}L5jX3934fLp9+4YW2uO4eD@E%#R#)m(v(J8CR2}W?*9c#SICX*4T-Gi!WchOreb<#SC>&=;BKh z+VTW4+nULWuTm(%bB?3Uu+9)VUxLRPvXufhI;Ezlp%{neCC;c7T7rEN8NjK|AVr)x{a=zfBMJ zOt%B_2rL}oc&hA}cTF6n>^61?$p{={W$nXHp?aF&a&nG{E z(a5Lxnz-{vsXYrQcUb%=&p`Ik;&M{5-y$v}%~&^j*5fy~m(s@`g03#2Fo(qTm4q@vf^jv)1Y6_yFdYsMm%*vUBMl zltvjN#v1eFi}^_REIrD-?7(f1hy>pbN$I&^6kI!*73qraaKuK;RI$DavXu+ZFlEzA z;J2|n2r2#2e*M0gHw>p&fg<()ibS`6bHE1mwfTLt=}er6#qxp0a`diPemXMyXS!i$ zPBtlinR}mKZd18`$+PeC%iL9dNp%7S^KWC9?ibi)Y|LoX^<_%bJA=vC2@0e@BGdV1 zdV6G#h5r)vIFQGD0)&%nN^Z9g#b4Bo6N;?h13uhI8gre}HEtQ(SkhY-o2{>Z@9;~b zpIe_O{Jsi4RYDOSmiR*rjtytOVBmD__G31>$9%cXR;>E0rx&@>jw5o~XSh-+%}*II z(ZI`vcbmts@Js29EIY9WBdW^=r57ng?Ce>X@+VHI+AQaWart*ee zuw?hf8f}>vnrFcW7O}d%L=>r8ctMbETU0wCc`H7I6TrM@s0-qRKLm* z|6%V~n-j;8f5o#OHl)Y`33;)(*(=)+!XymIOtP70T{&RD;0N)8*WLX0Q+LZowq^3T z-MZSUP2KHaTWU$&tyXud)mk@Y*cqp=v#$|$_A}Vw7jRsXW1b8i+RcKiM1=jaDaY3l zO{F9B9`zg7XvCdjZU(h~OHk_6MuNmvjiP&d{1WgnhTirXaP>^Lp;2i2eaKJPxP%x= zZFI#Y!ko_ibQVjVVSnj}=X+`XcMmY*TFkI(39K$C$eH!yg?jT(KUBhZ&(FJY0y+7iAmmRC9GCfSpO}CnQC)|%mc{^K=C;Xm8|3s5<;t-_WTAQL_ zZ#OBRXS{qSBR2kDj2P1Xca1jsF75ILc~=v%VSMzhwmlwuS{=|zRra(za~_fN1hSkm zWPN$v67`qhQCN3>VvXvUE3>iEc{+ypkk(xDXRj5JBkDaaL1nGpq9YskAO0vlt`_kz zc;FL0Ubct@CK*01Q`XCdc9fD(Aq}EsE$NUouQpIAlw`UD()4E9`a_{}o@WrR>z4D} zMSMv|Ab5&gr1vs$&J$T*;FPyopAU$aKHqLxknDm52~DPdwRUp9>3p~LiN2Ac#Ql-{ z$naXv9~q9$@p?#Ieq`9baUpawx@mjYTQ|jC5w3E&m3nwkcutM(6xg$Em4egbs!p>9?y^?iJL^zSA>rn1;+F4Z8ac zP$5T)2y?}@5In(pi~UFa4whK}@`J69ANeX4+BzN5 zNbRE8$+Z0lS!t%av@n-u^>)0jfNPk`Hu~1%Pmf&EHRym-8xA_%sAje8be}0nR?YNs zG)OQ9qQvEn;wfS4GdKoXjf;k`4E81k))T;hb%c_3_vmCG9P@*4tH*q@Etz(MEVWWDYUpth~q6;dbe$DgV0_z^uh)57hrEw; z%7bp(6q+)&Kn}>$?c&}XGr=efcRKklLXF6W~xX{~k;)6DS z>UGmNR>so!#gK41uV9%IDsUBTe2%o$BOtUL>K;$SP`xMhg^r-VtkESk>Q(uj zghIZpPJ^fA1)j4s&=^>=M|#6)#cLLSdtJstjHj!|d@1`3R652&pdZDh4I$>|*v89~ zT>T_fiGMvrrIInsQCwI23ht}V>KYO_=xR-CA3YH*WUnSe_+l;|FL>2iCDM}dYHi&=Ki@zz+&~(*P=~frIe;a%>FaBU zZuFy@txA$;1ZZju_WrX?*XT&h0p4$=RCw$SFm>r!lkqY5yY9Grc=q zWP8UG8{9_X9rkxeIGtBKJel+apYkgCP0@$|j5D?Vw!Y7UD3MlEI;0qX7lZ*WY4e0~ zUNO^X%A*fsJAty9w?Xs20W~JMY@(|^>VpmXj~5_@XFBodEjcPZF-`V0O($Fl?i)0z z48%ci@x`apnPiFdj>%kq!?pCw+<&QahD);4A@knjDPjKP2nx5B?Nx)vSKt!bM&m5C zzdF7kB!sshLF<~c5IW*%C%B?rLdJ0Pd`CyRthRrf1fZ>T+Y+r1XGJJF5+T8vfM*B9 zWwi43B#ALmJCsQ`&W8FH>UJ@6{@kLqjTRg}zT=Bp% z$VgVR1wHvF){_tP1t}rMRcslxAmbq|cV)Qp58?AGe=*yCK-jKRKhUPV2!vyF`fb<} ztoFkur7;46be0-*KeIq_@trJC7wHtT5y{U9E=hP6k7wlK-qD^lr)l^P7A@w+nFjc|j6@DLaBG0JAqAr|#Ch&PPz>_9ze7QSNW26Msg z5VV7LkCP_xAST#9x;(Kc#m!ZCE<;6k!c*XMYZM@JbnPPh%-dh+2rOM{p=H$-F*5_H z3^QF=-xL0TU_?9!(*L;O7`M5vKcBg00eKX7N`!rXEub4ekF{!wzGMA3qDukvI!&=Q zn2)WKb6ZbqRp7MiWIGkUs8clKCM!PWc$W^fRLhOl6_M%LN49R%)AQi{;~Js$kz|7w zrAEMA@i`?*80ih9R`_uq2(uXuWdNt5S$n&r*}S5?q6dDn+A=jIU;;A3uQL`L|KK*u z3g7I1g?;yGZ@&|a(3fNIG<^94ji14Gj~vQ;hEnALBrkN4l7Se$)`+d^u6j%Nzj%j~ zmQT=`Ygs+D)}S}znXowhF=yDgSboYy@fdLf9PevBX}ZLFs}|XdPaT01Poc2^9X06` zni{l(Q)qCX-!+{=Qx7o}&0U$!LfJPXOBlI-qXm>kq=Ej=`z7t{ep;MT?ptj>!nL@8 zR~5n(Y1Yw;t}dGg5zh|~4z(L~e0c;U4=&q>@AIz9zIvIQBfH@{k1Bb=8MZE%?p=pe zjBFA?fNwof9e~%?l*#uJ7Ug#+DtoHjA<_mi-t(VbfQDhz5@!gM)E`p*GJG|NcrML< zIsFS-0kdl8UWY?%&M$a~FI1z)k+zKAb7u%WG6NxgPludp@%#Ps`-Av>J^lW$#x-vZ8GBy$s6^S8{jA_AEMudE*Fa@NXA~KxVo?>TM$jy8YOQ5W(IjLWUOv~uO1Ky z4Z`p-`Eff3h^-#nU(i!8>bi?(ahr=rjvBl>!rZTd$h|UQt{&+DUgv!CrAjI#-trjg zagI(2;hOL|0>qOdw%_vOT4rA!+7VUYl{}uYj5+I3(892RZx#> zt|#8&>d+xBrPlyr*^l3W8o} z40o!-ghSQiTxY7|R$nC2Ox)0;BqQ(PdiB2mq1LuQsF$I-MudBGjTO5b9oan|C6iM8AL4Cb6{=<-y;i%8{xol8WwBWwff< zl>a+TtVv9)C?-}I6YCIviM31-Ya|kjY0qozQ4`5k7sz#k#2Wlfsx72KOx8FOKcX&h z(tMyDwiKP#=bTREb55s5m($6^%NNJ*MLGqd^fO=yEaMYgh#tSb116!Ja!_R5HiGlo z?FQ`;(q0k`r{4T&@28<flQElB9Ludt0`@NOBEN5b@VtI9M54-tj0I@n|oFoMs7c}JXa}=Z12Ia_mrX04?TaitNi<$tFXUtH8Z`TVlHQ% z9|p?Xw{Mjl?_py0!yV=4pX1MtH;8Ogc>`Y~cVG@J*BtC9|KuMkN%a_hX;=9*)d1BY z_;IhW1^Q4ioB;!WM-Qc>lN<(hzCwc&8~Nt`D1~Dy*i(d|vazvV2Bs2(zQx9I2Dkt) zbHi80o;TGE+kPWZ-$ZYrYcq#W$abSjckTd!yiS^uVD9#D*cGT zR;$V_>zu;=H}KftLyrL)SwU#}N;ozZ#|+2bK}`%pVm zEae}6Obq*+XU~*!*^=;mP?<%+xHNR3rLPvi+uhAGf`9;4r?AHxo-G-B%7YAlIW(pD zoREc;3tKUlY;_;xTfor+ax9o%54q98%o2L|fMbrfs z@z?{??@&ob<3Uk_fhRr|l$x>8nFEl8jI2ywmLSP7eQRKu&IXXA=l-yNaC&g?L~9Gv zoDPgt*9zG9`s28iFhL5LkEsPI#&dFiDu+|~*Nja((tL7LlYf;n@m86OHM9K!Nf$8H zn7@biQ9Tr7D|}9M175Hm$jZgwbE*ulv#}-EuiV(6Ghl^q^%G{>?peMFTZ~wtFjk~~ z`|UT>4kS7f$?;?*V-?tsa=B1tLYW_ew#m9js|XoEA+2ic$CDaVMhTM8BSnCJOzo`x zRm@0M@H@;LIRo*JgZkq>`C^djg&F`hqZ8D^~Ec zE2OLoOwaQcd|1jG_GG+=p${t(NDL`rSF!1f>{A9D_Y`Z6Y0sc)KcaZn=b-?pz4=bni#1h%Y0Ho zB(Crv>k|A?57LVoT2xQe5ZBw3CH6$U2WxcUMbt)O^5*rr{II#IY6a)Mw+6w*En0@g zH<@p2=1FlQ&SwEP#abo&$!tmZi)Y?5z(|)6-jgSkJHwDs*>+X5MwMWz{SO;Y&$-~IainkKGHjf#Ji|X2rM$E=zS|gi=#$ce#$Ud={ z*%gev$Q~$6+I#p3yjD|lrHoDARM7vWpxV8=mw;m>7pBrTTn@)xajlf`WnkL##94(H zMt9fsrop%5f~!bAeEpt(_t*8k*-H1^p*1Rn9z(0|IXNn_}BOj^* z>!@99o%lY_?4g${1UiGPvYf(24Hq=E0sbOzLpiu%0&e&saJC$roq)4n1dahXgMB{WAIlObisU1K5olCSXr50__clfmwim4f>VR4*yu*S8PFCDDesBMCW)ma zHWK$8WMnOsD)mu++@=O4N@27^co|_x@SZ8btaaC1pfivIf|s%T{GUqlZlf(Tt5ve{ zzCnPoaUtQoe0v!v0ybe0^vyZoz+&yYR%j}=$5?}zS$%`8#)QNkO+?ZN0t8H)lY&IJ z3o7aU=E?Au6C&4j3B@GF8ZDDz$E1en7V>8hAv4`LW8}7f95~0Z*P?frmj=xnz6hHl z;N#CNnX%ebsG}JV!8s#?4~hnOvU3(By#`Y$heSq*Uuw!POlnB&*RBzcD}B?l6VR;J zH4!ONHB78Mgs#QapM%cO>#*q)?-nw%NB2y>&%Wd|mOgwi2jstJ6e~+AWn4X|g`p(O z3e+^PH{6JSV8lH~Mo)jwPox-dOpHwVC-hCMEzvpqp2JKrQwbLyIPQ%V6B@A?V=5*m zENmNF!y(f(8G{8m)ek|SdnYI%ko`RZcCZKgt#B5f*;`=_z2uldB084KtMauXhQJ?p zGiau_P1dOx0>euhg7V9D5HKQ`hFQPnw!Mu)j}Q=lxFn1fC`-Kow>}V?`of-o#btJL zrgqGw9L6pJ5nduF`I?3!E01;r*A-& zdsc&~HG-^_yAJri8(Vt?3T=Lm`c z2VlZ~aHTt9L(30vdEBfGIn;9NGZhw*XC6Y{VAJIb!yVWtDC9;h{1sK=0TG#TW+)%G zoQy%*1dNhNy~OS-_%8V(^Qa~v8c%A3@W)ECsyjOp;Bn_U%Or4d6HN%6DTE!vFSD}W zzPVq4FD&-|o$pFfd#OQz@y)c7O~bYCTiX(U+JmaBA>u_5z*qL=JAB&P+J_(8M+Bl~ zR0(XWZ~%ci_C5iW;aa2fB(okUlKX>(Q; zq}eYQ(JzoP#S$iIV~dF@_Wdi=$j^~vHOZhdUsdW@OQGu-3s8z|h1f_o8FGsFIsf^B zSdF;KE8{id>RVzqz!;L5gSZic9yf^^P6H-Yz6$(tW1PO`Cp2z+Z4d#a^WAkd7fx7^eMx zHkp;lyLmZFQmOW$d>;&Qv1zan2?&rJlcFs1(IFa{{&46{Ce z&k=DhZBoL9rWSAf#Crp$cwKR3Tq;x5pPwQtt>^>=YxjkyqIOxIy3iucvzfNJE_|g1 z>o&?O9j`2cZ2&W4mT9ERn)BpWi$g4CTEHSU&k~PB4-0QqvR1TM6>9~%8N|#eeV--e z9QOMCvvhn4(`8neCrq&YY|PM&JU_XA5bYHr)JJEIm@(zlC>EbvxbcDVI_ZjHgwA730jl?YAqQM>Ha5+In=HLt zS2^z*d<0-oCqprKtZ?Tw)a|fFtA~tW!fGq|8$E;J8xK-csSI*T(C4<(iv$#Z_WivA z-5t`|Ve)FPVVGiYvC}Z40+jRf2pIZIAlv{x$-WOWOiP98mkhoB!&M@j#I^qlejFw- zl-PpjIM@LCsv+9%D~x^F{3dWh8?DssWL%tkt5-3fk*~4TVMHvTi;HzSMidK8!9bygRtG!+Hcx#+(j7A$}nLIUn=+$1L zUOI0QezUW)y1l*n3w*4%ujJdEon*V6`0rnN?~_0!2q$==orHj+gEq9Aj6>%eeq?v> z$k;__*xKGShBrS=CbYeXm4f{Mfjk4rWiI&QIO6o6`o zkcM_*ABBXdewz(pzxyG76Q&FU{mFcWDgsO#SaAMYnloww0+FZYU&|ytEi7?J&(q`t zwijgv>+QfQT9#C75PCNfMPb)8hw(Dsj6^AZWtBSPQWy<3pIR@@L?L`(6&Z+%K=xaY z2ciHxx8QdqVK{o$iycW9zOl+&h%y&hYEgA@A&TIOGA??i=D>)5;cv^(vt8I;<{#O2 zeGHQi1wD?|qSeGiy3d6J%SO{*H(=qgCp15=PuE7MxE3gX9jxY2c2#|Xe8&irCLU9? z6S=Ha%VewBSP)$oU@2@ck2i2c5ch&Ll(FI(%HPzYx*;AI?J2Q6;(ciPfj|Ml9y8;m zgTYVZeD)N9lI9$LzP8ctYdQmcec&IS73aK8Bsy-AoL`P_h{V>e`$dLS!C@+ITi;ea4o{e10G8n%qYo(W@^H@*p)*V9UyIz$Q zWU;2s#F2?jIFz|vstSnc2^=Oj=s|&?uI&aDu#F+Ihm6&Kj2}mZH$bbb3^p-n-LVIP zN(OX%IR4Og}z#%7?5eO{TpYGMxH;+@AlSC9VE?>H-csH!^}_HwLkGY@V#!vhDH0~ zr-&(@ag;EBn~g(AFOba`fV3-XNIJ=J*Xa$y-tuK8RTJ&8KeB1@A|DRb;xS97(2K9c zVLx<7Kikbu{Ug@&xK#cZ4YVez(|)mVIFk@7D)*=^Tnda@&>=t~lU@dP*%AmK<3H8+ zWYh9Qk?SM@ZILd{B;%U0Ld!`5SA|BW;n_lo=1FmX-t4Wlg~LPo5l`m~YFjOJ8qjQY z%lR<~N6?t@j8IY?nhLxKVMMx!3IpA;d2q15{~P>sc<12YuyqN)4-Q&e&HW$F4o9PA zS+=$=cM8zuxA1?L+Xd+K^v@Rl54HQP0sJYpF3E+YQv$L(sAAZ=neE)vyax~hyEX%FST~K}> ze!Bd4`9GI`{IPZU>#tjv-PY>qBeQAbr1)Zq_Q8hq^3~qut5;k2zsn)iaqp9hl{-wX z?~VY`090E9YIQZ4;p+|j(b#FIrxTDn*#IAZ@52Tabn*2=^-d`38(5;yMP#u5Mq+sg zuo6QWW)pd!Cug)N;$CPT68q`K;F2QHorG5V?)!3=rVqZVs14sbd!l#nZnRZSi&# z?m|Z?I;8DIw8@q3Es81>&NH5>NuD-;@^vD7&a|ryJFrFFZnS~P;Tb}+pC5)jT;y9t zdaQKq6JP^lgc&46^+AI-ewyP)PJD_S1hsW;H0)DzyN?%lCVm96l}&R$sYu67kN9rb zWhHZLsF(338ZEQzxCG{MBrG*zgN$~uWKQSaW7;9}lc29T7ZD!k26@gjyfvzSZ~<4r zV3rgy>}zfyvc=WBrO!T2U?<9a(3HXaHbxVPv&Qf9Z_T3q8`yBhr)tPh89}7OVM942 z0*w$s8(y#!(E5!%!?l1U`D0t=qf*i!nXBsB##LDaIv^iAJY-fMRK~h^WbzVr;vW-R zSw26@hZ#(=PhVYxk_U=M=VoQHbKYeh0xf zv*Labfks0p7B%6n)q%aX(f>{h0)_86h3~}+2TE)DRqyxO-2cJecQE`k#@%i^Noz;v+y>5w>Bi|)|P=Bku9vmsRoVCrdh`2 zXcx)e%IR_5?<&k(0>g{@1xUj3EICcHVcw^35GsoP!DknfvusR%vCVwq;k5N<1jJ^p zbsir6xz=9)=KiPsM%ww~;9$PC_H?a-f4_P00{=W%qo3Ok=;w=v{PV^3Gy1vxf`7hP zdq97B;^*@hhj>;7crW)6%Y81kb|0~<%6HJa<((}TK)!A9X^{3fs_OZ%{_!a@| z4K|gL8HDJ)W9ue=07F2$zm$3dYUqAbhTdYJ#N6`d<*rCcq;;BT$~Xy(3#&!PmiZI# zQ$1B$p_^wWqmr;R+HH(qf5W@0dD)p^sC_5x z5CM}8lird22Xd_QF8z>}{b@dNm1w7-!Lt!U`<%d1o2Ed1%su|F6UU@52A@#YSt=L%ndaPXFGefA3jl;JC7D zH7L|#-OAN{n5@*Sf8TE3S=s6~TR6=R|NL}FyK8)L`)hxXP3eE6O)xTliKiW2j@iTV zc0H3A;i?EG=Upo)k?0k)TSe%Y zB-mus5%vlSS9t;Q$ZCyMN!aRT#`PLjh}pZ)?*zcuamFW$V}dAhgv^7Z%fp>0oZHhuxQyGH*-45f(uLb@BE zV@ES^Dt3`P-X!fBPl@pOiabG9=$m8?ZC`L`fV%e^=>C?hA68LfnrfMl5&vy;lm48H&!LgWK z=Et`$-@JXf_tGn-j)G;$o?Y(g+g+O(wCcyaKp$gcV>HnMm9T09+ZKEHXaP|~?f682 zdldz!gxchZ0{5#5V2NM>Rm6~~dT?c77$ltSMhynIY(tGTiq|GYrJM)MyjtrpO*kxz zGKB4&e;3>NX+HY}nOYdCHbSe}rzl}pA*-5#MO9vAevX$Jue;>N@?tLj-L#Zd6LOx!40rKXaN{p6>Cm?}1 z&jDE%B^W#;z<_T4!<#q%t=bkD1YZ>jib8`$e=q{c`u!xi|1Gq>2fI&b{yJ>pRcD)h zz4K=0`Rl!1bHRgM(rzZnKzs4`^q|>z0SoajELSL{tgnnh(U+<-!}8ncY(tb+pDi%~ z(p~I*mQB1+Ztw7eGlhkYe>llRRlrV}&2IO^c^}uw*dFTvxd@#WEAzX50{?ro%!P~qwif25bl3gJJLNp+(1 zP;VO)$=-GqLYpd>fg;}}LkEW%(eWlm@h(TDDIP?mf(7vn{*?X*Sgt1@4(JGn#rMN- zMncgqW!-)uy4z-zZ6V^wmpbsiRWaW9e~IzV)ks?$;PfdjNc8B^?(us$eeGSc^co8~ zS2`P0!^A|+73@SAwZRxL3vvJ((~uezY=DwKWsE(2$In=L2Cvno@21yw{Fv^5e^C0x zsB@lMG?byjK(#PO1@)s*08et6NvOKut18Y3GHG2tSe6$e{7{pkWn#cf5LXw zHIcI7&>Vw4@DZohN8GS{bg|IT;DH<^ljmoljMDpiRNRmt+o=NRVaE6rIKAoC>I_!krzqI5jy0nrX^LN57213l;M*o> z;bCPF&y+duGJ(eAkzN5EDmgQ$f5@G@Nz6o;KtEnLd6ZPkmCc0TCLL9%mEZx3zbn^B zX(8J}vOVp1{UK_H-{KnGyxTLd0RlLYXAVPQ0MKfe1_$6v0kOjY8f5Jwv!~1@< z?T>86cXq7J{vzuDcV)#vQK&zKqlYnsgi@6aZDE~CckEs4vXxfU7q&O-&@kP4>{%jm?WEK9l$4LWf3?z51~NJcF1bi-3+Hqk0h_Y7R?=%>m9|scZ-(55{Q3Io z&9kSko?Dx0qGtE#xW|oczDJJ`FM9!X;sBT~Fu@2puEielSCaG7k%I*NSEWa-b$)m5d)iP-}st)Of zfng_MC&nJf9fuqTe_ReXjy4W9jx>%jjxP>v-BD%yH#W3{&h2onW5FO3&^1RoUVF_k zXIOW5Z(wwd%e^oo7q22LQK`sll8DlUGH_3XIM2;`QTnWhtBxM>QNWsS_I? z8NxiY2bhU#CC9}K?`$`6WdkH>t#QRPiKnlxT0O{^He?SF}ZZx2K67zP2eYA%{ z&js`Rgh^mmZLOpVt&ut&Jr}AwyRsiV)XQLvd4uEdM(!3dk}Qy&0`-IN{w${zkG6{X z<{!Uri1jKAoq0|s@(yl7;QL1KdYh>ADn^CVi#I~VA}!&|bscRpCCLl-#Wgm@U%D$l z+jxG_p7|`Sf9|V~f&46bJ!TQO+@e4dM0&>AQo$40&p)OCDIsqnb{8k}3a~gyk1E7c zjaBDgv8Y&ds+@&*5eFG_)SmVU_a8sc;a zYvSO-E?RrF)N2eK$HW%5s9ia-5*qH4jo19 zOVk=jLw(EZtQELPRS#w_%<2VcI4&MbI z;SW~4f0f{=wE4TT-^kz?t=*_Rz$`aZyTJ#cQMgtu@x`U;lrH0jiep&+gp0PKD$kR* zrrfd)XG6m1b&(X4;0gmpt5yqft|qRAsB%a}XpD6otlVDZE{q%vbA$M*2{x;RPlTc> zj4X_;4w!U#6BqRvP;1LmUJ8;jA7UoTlQbW~e>$?|mk?L|2she_RzBun42QKi&kFQy2b+*R(9V9$3!j|o5S4XSV7BDefK`eDP zt?};Ccq4rlCL-C4@j`Vs*61a6(Gk%<0cluSc4Kj;g}l72w$xq>1M`V9mTgBl`FGmW8qMRBWYH~^A8;?b!7CUoWAxO`6pE8*u=EX> zFQB6>eCL>ojN~Pa4)z5AO^`_A?AGjD%GIVg)TGqt$T*PM32~^poMjLubFvtbe|^@= z_^|sWt#^^Za7kRh7bekYuwRk=GHQJb$wJHc(WI-xjIQN-gf3Y-Z~2CfsB%yx+F}AR zM2x`J{RcR+@?PRB&pjp)Ra-{@lD53b~6-p-6!kY;g zOOlee!-iD=<95q%;O=Vg+uq%Kf8V-$^O<>T5S`iyFABUc4t6B{8C|I|N+%^}=uOr- z4<8~K7$eZ>sniPi!R7V>=gS($I#7y}kUYj)h_WdN-eHzb1YSOkm!|tJo_WL$qg;WQTIa)=;GPAdq?6VKP{)1fK;AGND07=q~QA&1_>gIO@i2dDYjD`8R;wG}9m%`)eo+ z1-m?|9wON_BBLAMAV?Rc)nY0rS(mR&(Cf2SjBe4xSK%@|b(p2oS*JMZ(3NkUbG#Lz zqo3jcI2=iU7{x5i9qc1Je<;rJAD=%l9hXLp_fd2@m^BHMgm>(=MB2shJiS0qFXCP* zkWhiSS@To$1v-PC4_bm-wo{b!NYgnwe?NE>7@Q8{T%m>-etpJ3f62ul8+Xt1_xU6n zD3J9-gYYq z#@KAA>p^lSX$rQcekf3nFKOHNzmH^l` zC^o_yMNuSqU{tT>xIRhHG(7R*BNtJ$QiCG#z2hOTVZ<~mt69+kLFQC}h&R+=MR;Mu zs?5M2U3Zx+WO!Hwe^;`qX%vq!Eb->1dBwM|u?uQRco?-1e;cnR56D5@=h>fWUW)$k z*p(`KocJyidZaYXVRrqQ=_O1&eH@N8ni}R;D*D7K8tkYLk!J0k#VCC8{Z`sjU=bth zf|Xsf91~-S4K;cd3|^OY&1rg7=B<{qy69`Xtub7jSTr~qGBnDI=eBr##i@oEKd?A1 z4n{erV3hN7e;JH&j=?Am#2!oG(D<2({QR>l@-r0yP2^`;O4VN(oI#afWoAvrdx;UN zSUSgpK>m$`S_5e8-z*X1ac-tvh=puWZ`O_P__+>7>g*s!1#aihY3>uLObXS3I6{FA ztgpo59PmA7i;*em*D!TPB&kqkvI5`x-*M?8IpL+|e-%^0U3u7|fls?Mk*wbrt*#+$ z;!fj2G8wg@qP&5sDjEXkW1;M7?HeCp4k&m)b(tkGwaa}z!xparE~RS}XK6kzlfR|o z*E`q>(! zu$4wJf6HM2UwG#=)-B7MA_LMEBN2xNFdLd8MG{NR7U;SUUtX51X>=$Z~YOo@o zwSX|cXK~zTptP1aA8^=RV?Z()Z@P*{=?w5^xUtHw6reb`x%!u_ zI#cyF1d8ZF`&@&H)yf{wMGGulbY}9Bzy1o4f2?{57EsS)L6k;8y})vzUN5==>-sBz zEDCzdq-+}03&+grfjzGWHsD&X6gX*2r{$tG2RBjc6{183H&St(NKsF@p^8PrnU1UI zHd3Us3C4-yl=NLMjuR8gq^gqYKu&*4ie+M6SiBaC)d&C=?$s7VacW!C;yBLWkgy;j ze>rhIMe{1UrEyyz&?MR-s}As@;XNsnDOPw-noD_X2P^#$)7OIRXin8=sxKd>xP~sy zl5W(R)h6-?WmD$W+9Y%K>Nt(i^^DjYC8n3@^Gc7^u(U9nPH7k}FV)W1;8nAM#*l#e zMOxT~)$C894T{yq@+?1@i3XN1HDSRYe+Ty{rMT!8WWHdI4m& zdy+k`7~yP`t{>xU3D-!xnFX^Te~|3wda$E>9E7xCT_2zaONTP|4qG%hc}1j;Ly8f0 zZ0>Te6w&N=NdWsbBBsw5p#H)U)1-|r758g3;0EJs1C(7MAo=IdMBNf}xZL?K3FrP? zkj2V2y63o(;j#O;v_x@ z_gVzVY}_*Yj(=@_1kzBoe?ck4&umjN**uG_njXqYseuq$z2SNq-$T)ufHL(1iH_WH>$T7`WmHV4+ zaWD`%?eNa3E5hx`13@|<4A5cOI4(9uJlsLfsZ&hZ;Zb=dDEilpe~musV+Dx}cH|1( z2^{ci6QJ-;4^m+Jbs+W)zhlL#x*jNBx{ve^m|DjfswV88RKl#q^T`oi|NR$iUG}k` zP3-W-6oVjv_*q6y;aGJEeVUKU8K^es*|e54dz}Z#G##I2*7MH&mXE3ws7m&}0x3El z4uCF?2|!=vGD5k^0t3^_gPzl@fH_Xnm_)SFx;JwX*`%>zMtY z>rqvwTk6H_hYGsqA4_DIu+Fz?Gw~AHQ~nQf@{MFs@w@V-e|frQCY8XLdfa`bY$~z- zT9VIW8C5Dfum;CVpRYRnu3-P)<92BJjq$qd#+&AJiMJM?8{;0~h%4~8-Al`HxKlQ8 zm|ex)4#$Q#08kZ3mniR((kA z6rnzdo;~~If0#*Hkh+D*W|*c$nPrHKg;`-j6?#D73Oz8d#=6;LnHXO><&4vSYvzz~wey?EA`?`Msuk_%N)s*?t?{Ol&_tD~>!hIxHh2+oJw<9| zxCut!XkRY&T8u|eofY$G$v1Pa8w^M@bwHR25{ zAB{UXBlxp34KLajEAXBQynn9?yw?RHb&N)fu2&cBrAyNV0V2l->6h^Ik8E1J$mMY^ zj3y`>CB`}Ho7pNUD9g`EL$YE^7#poAK;uGv#REZbA{E5BA3>6DY% zG#}*Ie+aL6rud8@I=J;y=d{^rmw>Hol{@e3gvO%UrrBPZCswyo6JstLo^(;z8fn8$ zldIo6#Y@@JVQJhiy(kEbW;)LJrGmFasoveHfGgu3YS2Y?)F3Po1au_ZMtg&RAT#5Q zQWYvK>xu*>J*^A)L!IF3vpPWU>j04mt{WImfAY63Fv;HP0C5X92@?XkJ1g$RC=m0W z;J%p^_hZefh3$tBHU(*g5@9!CXTe(X!<(Pp8VD^gN(}%lUwD6?=RNcOr8qwegc(sy zbW0xAjf$Xz#`~@BC0hwz8qd#6nG~WBITpBaIRa&HSzi7)^25^L>5fmZ1X7aFj^c_E ze@K^O0;erUq1`=^K8%H%9p|S%fOJXNCBK?L!Kh1)?xZMX`?a}XJvzJw{YHudK+^JA zV&~=SpZ1VC1^=g;1}-i{Yrzxh7? z;eRWaRW#^7OcQ3B%G*dC|IC*lYeQ%7e|Y!z^KX;C&-3Z~GTA8xS@JbJd64W&$0^upNBeHYX!ynEa6K!EmTjZ;gj-)7HirnKwdL*|uFMGMEKH zIg-=Fi&n4=Ki<-VK}%Tx4j;FD$enx~0mjftA3j8}b&PBGg(+~{cAD?Rgf#^@%#myg zqXELTn5L&0S(;fOiPbJSf60egsri#%;u`*^%o(R2zeq>}E5VV0Jlb{xa1#7NnFYmBM!h}I;Z!BPRMKt5}fbm2KHatZ@(8fCybfww6f>vu`)5T_%AUtW8>Oe;(7{7HdDkWaq``@0tdMa-P*(> z3PL6H9RHvKOQLPre;IiygeL_ufVtxxfxUxb^wK}a#Lt+s2SyNM0zvNtLl(h5TlB}M zJshhd+W8JvUq4AJeguPI3W{_fXke;UN`rSTVLtEp*D>G+m-v7o$oyDFp#X|dOb=kC zmVW&;H&tk&Pd1@v;Tb7P(~Oc9luWW5b`Aw6z)m3Lr~It0e+F5#ge4vw6qzYgPyh{FWT0$r012yc829lsOW)UP=(|qG0d!p{R#w7?kMgQ4TV@F$Pj^$pi!A0%onk0n zCz~!GsVm!F0!>#zO36R?tf#<J2Wj`a7`X>>)pEUnD$&rqL7v0!NoJ(PMg2e;i%zE@|gYl9wk6)wt04+2LE3 zOwtm1A;IhmAWaE(nU5yJ3vGMXqMs2fWTJjtO&yl@`zgT{SzK7>uMUHBmOiq%&|Sdg z^St~?a$Zwli)Fk|k#(f^J0Yx|%`qP)fr@L@*i>tLtUlR@BSy<6C?~(v#Cg`ob7l)MPyI4Vf%-Wj`(Qcf$sNbyswPJGxM0b zBcDxe(I0c;$Il>}Okux0%XU#*fB-d{_vS-3g-t`&XotrSKMmZf3kK)QD#g@d8eUud zgSXP0Q4B-FJ-4)Qf?AM$ghdZE0V)6F^fITfSw}TSNr5mq6k`yL$7Ej^&_;*+!1#_3 zf3yS)6)#rc+|4q&JYi#Xm5F;-(j7XdbLg{j^)EDS&`!0=M0do}L=}>no{vw8ZjgN) zcCZGtd(;nch7npOn1qoCR;}U!lV<{Dt68Xm+z_q^^+pRKb%Ye@Kn0=RwA;9_HPIGT z(7u>{NyIICgB2D&E2s<2zlAywhPS2t_vd7xXG=OsvvG000lIiuDD9Q0_eztue=fOj zo@Wkh^7O^t^S89Q>BFXaptd*U#(SJ)J}vCMJ7_0RG2lBVuip$5>G=ed;2E1L?89g(blT8Dzt3mPPRzRXe;L4H&gn;(9vD zVijdJn!H+4TfuXH=WoA%?(7vMeIPF`1FxlJF=7G#d~Dr7i_o8!VbWX4s*6$l+6&*)A+pZ4cDEE}-dxtN`ifqqzK zkx6cdtAHh9fuXj_Nc$<&W&7|anng!ov#j<8O#urf?5G&740@hI;Zibp983Q!>%V^^ z?hJJ^hLWLEymOo$(DpKde}VV7Dn%x8y--H2uEayyTr}AbrI!A1#`@cMY`u4D`>cU*72p`7J z9v&{0*3&2GG6#>F^11M$LxXOrygksyAWBP54&%|z%U7>nTF)sRe=y<;(=!dXFB4(a0)oG}cpzh9AbLG01-$Y}AwF;lqbSjd~cu)#(Lw@&NZ8N%q=S*ScVj zE2ev#;6NiK>d_M#=&&7AGb;ftIFDFB5*`4TNRB;4!Ur)%%|AbX{@>TH83V4aR`>SP zUlwgJD&;^(w1h;mu#(4qi_!q~a~Yz`Z+3+gF8>VZyT z>sC@6zsvfDDHo+WsF?pBn$HvCK3T%ng*SH255q8Z1X|%we|yhjt=*Scy=!sXiSvr3 zuK%0}X&qK}n^jG$j$j2gc9YGZfxx4)1P?ap$P<)dzJa@|V3eDIv__8d>6ADS&FNE6 z>So!rq*8UW#?6Q=ZBoW9TxsZq#ONY*Q%vc%312JSVwe=o-;MPLK!WGTu|#QiCD8*+4d zo3%kmo}!JWfRQ=J``17}&Lb^R1Vm++8aExIUp93Eg~DX?K0gYZ&-`k=t7)k&itO`& zH#b9<>Eb8m2OUrZESKnD2lL1JiI=c3FZ9hq7Ec=6#?p<_2BgwWnyVre`>_z75F|kH4BspGS9kK=rTLv{2I# zx2nl`%D$(9YP5ppFwb_%qj-B+~btwm#Lc%Hh2RthLn$ix3Hn-cH+`!qAry zUZa4aVoQ@04dxiI+5|mr2^H*k`i(zYBDxlbNi44Bbaxh2BRWdsmNh%+7Om$p;i5IJ ze^0SyE=@od;6h{M=4v z*=V9(ywMv(jqBXta&zlQcf@tS|6V0{1dZXm`?LM?d6cyVv?X=#F~>V>H!0%BH8%<$ zzn{?~5;j%19Lm%+a-|h_HFAsDr6xrQKgq@e^o8_Lo&gQ#8T)QeK-a}xiZDU8e{qJP zCijuHxj55W6d1v>!b6o(S?IqK2MU=<5GAboO`?`iuL9;(IlGZF+PFG<7`Y-u+j7p_ z4EaM{!CT__1%Gis5)`Vqj)IZ~m%K<1Bfd=670HAr7ps)eT zpHGqpL1ofm$Ee1rz6K9in8Td#e^vKRVhtR)g3-Kh*apW51|$4)=HAEa^s;%ydYwT$ zJq-+^s7MW#$0`A>Q{*MB9@le?8()UE3@q;Ar!=_E$ONMu+$59Gct9T5nn_;XOzz%YGC2d1~1D(reIqA?ckui(`;^S?5}hV4-N)@-v4xo zf9`#1b>Jy{h5tJI=kjO$Q+~hXKl)p%1;v_smr1M158&rU;M;z;e~tC6w6^Gf&HaOe zm4gGKL4a-vgj<(L~yxb8|`FOcSOe;$yGCpA{WzzxXUUFd=H<_{?CU$|J-?Q z6fyWCTEGWi6)AKAe>82o6#aSkQ zJ&q_xzjZ$9C`H)0+Xd7EMvwg*Y?6X>0M|do8)fv=1Hi|x_1%p^4&h!}+)lw(Ws*r| z5GFujNUXuiy% zqD%pbG03pYRuy0o<_>3{txsWI?!Kuwf*Cq~xgz>b?;~;tKyLWmrKt;C*>7@jGQC^E z-g@g`q?t%jf8EqD5t&Y$ufG4m-@J1lqNcVMgT18`7rTfy@Is%U0aVCq8CgoU(_z?l zDv6P0_VdI2-XS-c2!vl@rvUuuHXGF>?c)HWG$)hfP)@%lSihf45@j@Ix-m2nfBe6OAV)If1L3X9P0ofp*y`a zx1*U;Q&_c~{ajplFU*D1cYhdyPC-ZePf9c(t?_Fk)H9W#BwwWaWhE!#1W{1DVlfIb zEAeVme>I681vh25AnnpB@N_IPNrsN9gKb~j=D=R=?Tcs0`nT)rtT$~WP$z8rXK6mf zgKiGrDmPYFXGJkAyLmP{=@!$|)w9`XxH>)QW6{5q8Lg?EyWP8b=@u_($;NHRPBFgR zn`f6lXM@YVv-#zVX@0qz&MtT7<5n9M@v^nmeF=(2dwy9=eha zf3e}aIQgY-u(zha=r6*r=s<nJNSO0d!|Mk2a-jG>`JI!`}8%R$S+mKENAf8}38 z!K5zXKiCC$uYTiKcUJ97G*`vr+pFfy0TEYjd2N@lz|m0C;16DM#=A)1kcJQ4%D`t` zZ$&@h7W+dw&WFP^`P(je2?}pQ(Pd-0TzCTg&JHIRo#LcJ_EMtJIR`NAANz4ye8^!R zqK^dvIg*q>FlY`0B#O6B`Fz@Ne`qwi1N1Pfdq7>Zf3F|5LKhM`y{5=UjoqquDc_`p z2eI(BINy(Qtne1zzmWhrmSK2~E`p-K@~jpx3S~c1xH9G7$9{S`9l(3GUN-km4kpmv|``Pqn7!&ucYS2UV zt+y8NDK-79EUzldk4h01JC?eJe^EW-mELgFI(fU&ZYg9~L^}o)e;s0gX>>X;(^bv} zTB03;C(jE#3&Qq2u}W6EcbUueiYT`4CwN=n4j!_aIy2MjSZQ+e{ew90( zh@gKjGV!99oI(+1c=S4>IN*e{z`wA#2|pY#!n2QhAK@gJ(?C^CWg$`rMP{3(uBbr~ z53m^!+E>mlv^i#>e*@s+be#VIk44ua>jNW*i6Ar3kTVF(L7oFRHA;%UMmK_YC39fQ zNk`M*EVZJ#X*SGLjK4_x)1oXXsN;BAoR{Qo0_%}*!YaGTYp6m{vx=nf43+0WQzt`B zW0049*srFi&IDbMmP!Vr7WJ!80+#iz6Y}9!LcGxJFWpgMvvk4M6{nt662qdvIFg~ZcS3!GLhNx4|s$`!3253;ce+{GNhCOl~9{FjI862Q%Q5M(-7_|h|e8D4{5%hHh;(;{9n3!TYZv{4$m^Ko* zg`e0|n~&$R8gV5hi85^%g zKn9fAJNp)E{RqzZ`ZJx~O)9o1 zfBhkzJ{^peDQ%R-5hw+g8p&lx}&8J$>qHQI{_t3f%Re@qIo z9XLxthY2Sq3=e$R%4cjQdB*|UJZo23F5Xr~(~6LzG_3f~=#`_B9%tojhb#$g*8p1f ziz%$W-({(*$h!L#5h=8b1-xmb_6u??35V@QeFgdM8|9@_5zK3uDPE_qm$Ny#TN0P< zNW8Yu^Z?iCekVCRx!@noKR?BEe-=MEOQnaEu0Vmik;K&#!9;Lkls)lxSaDm1MiLJE zx+RR6CSc5A3^tC7Q#znmHd#W@u7$R`3!yNP#YaZu3snj=tTcgnnhrthr38p)oS0Fa zECq*iWz*wIgMM4f@|wN6iuI6Qc=akQ?NUsiJ4tWNtE~!2DR?tFOXVmTe-mD1K*8J{ zCc%$Qu@K&QnpoUQU0^MKL~IZfT~m8z-)Avh+9om}+vZ8DY(R{@At#8C_`FV98+lWY zy84Ez!3&D@$y6S?{gjgQfr_=CcR9C5-WAzBatxos2I3dW+tcOcKkv%yKzUc@2f}AM zLy&okVsZQ~euz!i&ZyI2fB5a53x8ThlMD2_IxG;vF}7|^DV_p_IuC5q)(G(=H=T+s zu@Z-Oh6_mIxdAX+0$nRdDR)L_W6j2NTU0v5`wo)r-95LL$}WhMX0M$z2A+SVSy`QJ zfOZ*+_LkMkcpfKV`HC48Pvi=!Bz#~9jjJ)72f%Rp?hp0OKPk-Be+9!*el%sxn?`pa zgK1DaEQl~8vx>L@ulXk;rLE-#X#$_3yGrr}=41>;J*-VNq9+}>%(>!6aPugXnSVX7 zS8rYlZe`F|)1qvhd&W3Jjn7NcZz8BoUC6vP*+aq;m4_yVCazzGu?lQ8kX5)GSDd1& z)5S$;wJe<@<_%$~e~n%`Z*PY7&6TNYDX}PAI7=V7tfQ~vsWHThQvF?tZxm9_6+=h0 zZ%(3!mz`z4pF%Z{E}&Shl;WOTVIf(x)ENU?wayVqaTod;b0RN=YEjt?Uj>O_drjF8 zV%T6cN0AZhCNJzE|l!of3RtGf#vL{asUS}qW~`L$~B&* z38B-Es$@Rb{FqsNi~nr!Q&;*&PriZ*YW2Yn{;{u?)?=1_Ts&qtD)BMH5&b_uW>5aL zV+B(DqRSQShafX1cK{>k{TNyN2q%xED((-W+g3KKV;Jx$OTEyL7eoEuvX z!pWGkf8qdwbX?|m@wUnntnjGHIqp@sr5tBE`7tH+G;&9m=%gawwv+R-LSD3h8U!Wg z&W72DQ=wI$ag%f7ZO-4pwqo3tM1{8Wu%0_=uK+gJxE?Q?ycUZ0`)h$vPT6{Sy<=&6 za5yI}x9qB_x1A#SRu~)GCW3V;TXK(W$#$LLf83-dar^n9F-<^!(a(vmrmbKfieX`bu ze_}ewgxAY{1Fe8~xB2h$bjnmU$RLPcF!~7p4$=$!gXTbbPv$`U#ybIirZxr*?UJQh z0GmW{YbrCJeN;+pjg;Y~D0sPgn2DRhABX!}wxXTTO)|IWk^;KIVMMp8n5Jgfv%gMX zix;g{<#Mn%Fv@0z`8c2bke1t7KOa$4f0>Iwwaz#MlEg2Zxubmv3bQWmv||$y_1m$U zNGpX30|K5KcQDQ5DLSS-dZ^PS%(Wqc6P?T^B+2wVY6KFSQc&lExl%ZowS zN>eND*&HOtmCCn0i}xJD%*{3qs9fTliyS^#9rMHUS3f>~yK6jAH!$?i=HvI-RJ~}d z^f2XYBY6T_yWSf1Sp$9^YJg7fo4fFy0N^_|{;mR`!w*FHe@61&s>+`#ld!^K=kM>r z4a}x8DkKszT&E8+X5q-0CL>uf=r%f!<9=XjvRHA^XoYd5NhtTBK2%0<3i2+AAFm$S>l z8@iUf{ty6v1~ouPO@WYL!!|wCe>}4uVm|Uu@3@25R)ru`nw%5@ASWh62` z*fcaLe{IP(sQUE22~4RU-n{v5Q;w5`UiE?u=0@`tXzi%h(?w8f1_JPCKEneVWviD8 z_?WY`;N+F0*Y`mKz{~NE z)8Z6J!9|D%9kJo!fcsIsMdMCWa!zY8(#?7d+qgOG{itVhKB=OM+gw&P1;%bRlk!5W zAr>FLcqedridMA&~q-Z-R=7hk8Z<7Y`$nV?y? zzHbzj5GKK8)lj!q+Xr)zl^I)F!&a-EkVw43epIf$kCWbg3ZjgSq}x9JOO~F>?T{Wm z;S@rb+#Adjti@mj-pT7Fiw>X{M2T9Q=DU?>5b389uyrdhBtb@H1P3BRe`2Eme;(9$ zp2dOA5mchVK97d3QZL%FAKl}r4X%WU@(K{RD}*0)V%s&0^O$x7?{Wj^YN(*%LhaEU zb!$m#!r<|92mAySD{craOOZm+iky8*WQ@YwduPH`>T4#eZAo#sv4E?q^fwU4c!OV9 z7<)#gB_-Ugx)QDvnpR$vk7KwAe^UI&Ep&xW?o?QaqJ3G)b#1R855{;$nnS58Sqrpe zVNJrxta{K4p7FD2)FZ+ISCUSinEG6>SSk}HsXsLX{JTiz0D?e$zXdW~>LIS|G!Au_ zN=T%;s_w3II!zT2!p#>UzIU|f$Z8#cA~k7t#&iI={0nqJA1gwzaK$m2g9YlOPJdX8 zYAq~HuRe-rY58=RpN_Ku#yMMhq&JQ=6}?FMJ;Gw?CtIP-vLPh!uHBHur|C))SQQ1u zXp&`1P}R{vdI3#7o9(6_FozDV*TIwNW+juhgr}S|t?=1xbIopo>wsJj$u|}fjiK^D z#B0^=S$=|hBY#HTGNT}*2-@D=6MrS5L+gW9nil<2AR|Jz&y&oG&BJ7vcEp))`0QhD z%1Xycy_~Bwm!gzywCV@4T>34Pdn41U(x0dOVuWOqGhIoT+rs;B#_3gXzC5XsJ2pr_ zU`mBoztGr(m_;me(N$D8b}O+q2pbkHA=E#q+m7p@UmE)r@ZyCU)~1?zHy1$syl}u+lm>*x)a8 zO`H7A*E-#CZeNr34&i4!DEcHM%K0?w4D;h@I=$$g7RBi>>lcHJ-H-FxssK5{S9lVe z(LddHpc;UD?`K`S@Ilp37JsAcoV;l{e_=8NiNMC6d)<58yWMrnYkw~(Ct07b=_MB_ z^pIvpq;!07j>ZdZSiy9C^C?ZmQ8CC*a<;{>YZZA@alQqLL>D=Ej$x+oosn34kY4B> z&dp2onxb=m#NOTStQ>CbuXP@_yN7pLzi^k^4|hTje-1s|riXj}i+>+#Jj&a0Uy4jJ7j!gQ)`G9lg5-_5zHCYU%%B}nFz8FVsh~Uz)P`8S;sg}^K7dt-q z-3st?AN*bg_`nDMrULxT2ftqdKJvjIRDhR0__q?g*3jyXSNmK{BZpD+>=aE_{9>xZ zA?wLWf8%b{1b@81VJ{7GUvHoS)IhdWFz6dGE39V$8O;lnj?>r{j)VQoy7OI0RjjAg zPJ-`dMawsVRjmSARwD(17E5r)3hbEhv}9GN{4%;&F1e~Z7O%^ckjiH5Uoc(*j!>QMItJ5l{o(Rz=9z<(lFm5Pp2p5?yQCApvUEy4ND zVfxQmV;~%dhZhv+_s@RFpLX51>#S6)@3+p|f*0dzaw zv^%ErP!X-?`?mOof~lGVXsV-)G@C}y*n`;APscTtLjuWPU&HdRmh@OPX9vBP))zb_ z(ltXj?lkZ+RSHuQv4-B{=yawv=4 z(wL3tPqU$@@Ci?5`1&ctiW z)Egh~ERjnJrH+0WCo!;ytl+Z^s>RcP)Pk-w6_aZmc>koFSV%Et#D~v4uZ#*$13$%0 zx0Qy5X;L_sS=(|e@|}9^xvn(4D!Yb=IZ?YiT?pT}O1=^e0eF7rD}osOTycB@a)07= zkrb0q@5Q8!<1AIHD?2q$tKR>3`xaDqUiT~RUD7oB~($JboTggD-9v41~jcCxZ`pjaiBj}NONJsg$QmDXgnC8DTt7cX}o&} z>6U_0A{*9}DUnPEH11fewG}^prXCI-%o#}-&GX*S;U4X?)By>`y!#HTM7Rv?cHtL|5g%gSul;9?uQSGvuQkTjV8XNy3}uZPsz!Kro@KD{L#rxA z1Bg*>^Fc$If5>P4$tTr^&RFJ%lU)|2AwIXqn@zTM0}01oVPcpSVkbiZWt%k3+Gz};f#nx;{R|jdPQdFziwUJ2AEnzM3KzyGTt1@{| z(=sYEQSB9hx(sUc`zq~<9rDS1ox9&wt1zsp5 zk<09xJ9HCK4dGNz3L!JSnJ!W&Y~LX)YP5L5;lDouSWT9PRQ;Z!%GNt|h|0uc_3gD8*= zhp|!qwhCOB`X-1hiV=5@5rptZF&ZNO_Wr#p?C{U}J=o=Cr|5P#DBb&0s5;6=SF^tR zYxllgSRv-KiB~$vPSW{sW>jd@x8OiRh#icr;ldkevVVkU#Z>G`E0PXMo=ci(J2`d@ z69aYjLb>uBCohz3=V!$*+fi7cqngM1XfUG9#sl;4W*LgL5flp^=r?b7i_rnhxqtQlL z{wfvBKoNAX4wu^h^-$Zk)Eu1^96nRwl`Th%ZGTS9MmBD=q*W8J>d9MF74C zn(wE9FgR#sRmxK8^I5?;Urn<76x53{SgYKz&TeYO58)B3D0yDmm1?IPOs?b(89ekZ zgszO_su=TyBfem~wYR{XJEGn@I`Pffe1DXpZ$UapF>!>G|FAgGnK?)U(L;BKyrt0T zDZ?&IXB-W1im4Q+i$yU`d6%K#1gSK*2)@axX1W$tk#50Zisnej9ndGiMcGd5h4fuv3xi+I!ttR63mEJ})O zctbNA0g-@i5C>l!y3L|=tFQ#GDWiZ8iZYT% z%FIn6B*io^1e}W!4?t&}m!%P$41aEca(=?(Qrm#g{e!PshxYMK;Gjjca)sNlqU&7| z7~>0?IB(*8@2;OOj6?S#F9|@u(_w2r(b}^WTkJPNFXDsf9A+6OJ8iT2z`3h`?ldXN znRPr>(KToS7Uz^AW6m!3W-!{gI#{o%6JE_IoEo_b6Tuj>IdpT3Z9~SAHGhnPj$_N8 zvtmP>uVI@usNzpbIWjs4aCS-X=6__(TXv(DGWJ`2F60m|k#%foNagF|JZZ+e-I@ge z-n5TolOXLOeeVCp2#axLGfDC9Kf<$OiSeBk%Z)B(<~m6xX-OBw%8Q=fXBTZ!_At{I zs?#dhRi@mpRe71kwVNbw(0^CpJV&ohSy~aN5OB&#F&qjD2(KKqmr_-r5j!0s@OZ&o z
    ~vzf!&JZND*ZzjX~`btJX8`S2(`K3;rFwpFv0LKo?D)?-RoYZX|Sut0nGyKOW< z>t$SVn1If1Qd*R%FW^C-rsqiclCx5`ZC6T@>7`OhTmU%c>8Zm9U4KeA=oIFHBF&d9 zS9Zg<^@KwE>W#TO?k45S?n_MZ5g7NXt92ayCa$PR?r#NnSVOt9d-UV;w?`aw24jjl zpGV$nj+ukkv^%oO_`n#c=YVo~AN1bZ+R-o1pT6Bi1@Z3vZ=eJ`0`=Ize4sm)9AFQ=DJOd@(YB0z@k+bat$fOM-Ad`#fRu6B6^M91DPfkPN8IUh(2T`vU1=`sZi@h-AH0^o5CT#nTU4PipWS|*_TC(H>5a-`F+>o|I z;Ziio!~M@i6RV1KXmWf>aw{$P%*nb}J56Ps^l9Xx^qnM%lg@wLvMHKdWqmS(B4OGJCNuKW^SL{oxksyk zrN_Os*1Towgq+Zv^L=)Yt2(5h#V;D_6!00SLPohE12^lA1atTuyFXImVx(ooNC*o2 zhSOfWrg_5OnHS}Ar93oShZW@Um6=P?=PdMOxqsMDUM;~e<_)7I_Iqs9hHjkwk}d|^ z5DhMU+?*(XL-m6XqOw%T?g?QrvsqYOSDL9=rNR+By==<-fSCvv+yAYQ03MsC6`s(G=-RHYTJ8?()beN}QQxgXm zfMTOI1IR=Ta8RFpk>T5yZ{EJ#`^Bl@$7xJvfqSCBy=V=hj=BXTd#D2UMS=Sj zHJnBZSiERmD=CVp^0IA$g3xV~$QJUlNik8aNsaG$8smirARwD`4=3hTEfN_GqWNp#AlV&n&wnPtMVO`f z9RKlsY>1$}bb6Y(ca6!5w<@nZ#o}*HRCA1qsAc93IC#EkR1e)~_Ks+W!sl$VkwQvi z{=~!)bO#}@%}7f{&jy-Sa@Rf`4$YJx3%b|d@`r~_BW}t?x&C;;Tkdb+nWTPWj5+aZ z4WxmcpGqMFIx_8)tcqwbNq=#(AFE$>{H5k>%7_m=4p?6R8?o+b_L5+0XRRTb-pC1_x;O@9WXewGh~CCV_n zQ^cqY?h!B4ZEZ}Vboe)p3qp>Pi#cJtfqSg&ZL!B{Y!gS2xw$?&3^>UdAdB!qkP}3y zhfA=*wy7@0R9$LJUA>svYcNi^OS|K?*mt`o7S4P5mh)a7d{s;b`8XXCBOZK(=^BQ| zY5zS2a$@o85nzB)LOE;*C)c+A1Z4S%1q;=T(j5RW{DE z@yzFR_YU`M8rN;qWig3~wE zdwSfIDfpyWd6~(vEvE;4xl0pdTTT(NC@eKkWEn=Z~v`&vIOJT8lwe9OR zeHf%{l2=s?*7MCZ>ZxB5)^z_mH7!vU*7e|8buCjF*7oi7YFny0tncA9>vPUu>MlT< zf03P+m3nsh-u)#+-!7ZhmBJL*d0ODRmYMwSf(-}vsRw>n6G)zZ2rLj_F8WYNmKmJgQ z69K=*yA|qMB7POvtNdW3TU7)8P;`4dqqD&HI)9B_XzO5nR`7-tlQO_`{E$t{beN#` zPq-qE;V))rToy^U&HH*7h@Ny+zHs%~#IAc}!pN+{CX7x>ZG%#JVH+Jiv!E#Jodbo> zEFkvSwSnlF1tlW!EvOSSGG2gTRJwxDTTS8d5#8Aw_a#6Q_9Qz=@=X792nG069^t4M@)%NXiWARE^I9U^3^U z2_~Kep*6LePTEEXoIGP38iX^A1xaD9PUqt@8;B!qZ6Gt;(gY);x&vke<}&Cg{pgLk znw&f7M;kaFR{-aB_gn5h64-cV0hdwM+kbUfPX>b7ko3%klh+BDaN?OWH`tfX1QgF4 zIN{W0!SOQ(kUaeygu>6=1XB)J2AF#0%s0*^W1~;>G(HeFi5d*Q+d@2s;m+pQ_&$m^?x?~)I^hFQI? zAD4+!&CmJ-*J`X=SUfJR!lDzr%H?sg1T~JBLv=~;P5-dl=>Ro-Ha)Aa+f{A@=zbEL zV+|C+W(X`2P^K^lf$I}}vvb0*+J6RU)8Mri-B1<%%Do=+w`PA{O~*=#rc05W$k_kVPfSAGMr zoZl+S)8zK{W@0?{!9x_mV;2y#{ThIBtHT2n>+yL3aa z`!Gpd;zd>xdTHTya-QfJDSvyb=FM=3c~y~xL)Y>-eD^Fr!OfsWob|?Ocm12`2IZ_% zG7{%XI^0x&=Fn&dr<15S;0r7~Lny=}dW`Sg1Q0cA*l1sle~n&fW8m!4rK(LlENbgZ z3R_x4H7iUt(~RWQk3}i7wKhvXt($cGF_k)hM}E5pgT@P9Y)^i>=YQ?E^?v)24G3H7 zQ&e;XU9{~mpE%$~#wjUY^b-eGoPisnNIY@ipnIqnHJsmJZV{DEu6B`WHl)Na$ZA}~ zeB$Cy0m~eQBUAX*69?4Y2hsB6jfW6g7M%F-HgCtg^3yK0dsa+mRiy|ZSoBAuUxP&n zAXtlUpzovXU(O2IhqW^ z4e|0O=H+WjZzZ7p9063?wRFmlx(rWcBrpK1P*MdczToXPcG^^S<;BWkS?RPJ_w8O} zm_*=wD@FzmNPq4OP(i6n_YWUg)B-W^bnQ`+V`ipx_`9;=Q3OTz^FtnflcojqI1MW1 zGj~u|R}&dXh+n@kzMqVs2IqnCi+rT)pEfu@@vx}JtpHm|!NH8hyt!LUNf)ifX5tE9 zvm~diI4+7|mX7^T;V`Qz5Px(LSEbBWK3ZZn*}bD~j{0BJ zFYZ(eiAOiE5tVtT(~>Ra`zYf@k`21t;M(Fslv&|=(d+hso~-08cEh6M!BUc=nb#-H zX=gx+1eOM8SqN<_>~+KywC+_JRh6;+azix|vIW&jIaMj6VicG{u3E-5q*_vw9MKP7 zhNflu34aySFGLnpFw+5@&O?=tf-+DLx__c?Ym)#n_{VZj*v$u7lAWC3u~a^q zz{r;JEr&CDd3)tu0Q4egXXDqr9(YzglLI7^=$d2%QLr|8xu`}4vTD_pX|oA1?%C60 zv?7vcae7?(y99U`2(cR&=dlSLxpBf0Hy<=Vb`0*K+NS@~iz_;^jzHX^bd|kV#Ih)O zwSTFr-pv^|OYK7eqnP*7tdL%+LQaL|ORtbT>9Egn6DsGPsSuuGqFg3pLIIf@@(l^~i^JZ~pRAtg@ zoBdWcbtTCiMr(sS3gNK$FpR@6h&c6|V}B5-UmCf*Ue#!h=f}sxfHf5aSUI1N)Jlr+ z@FH37u64@U1qdGW)bFtaHr^tSKP5hQ+XL@#V66TOtcKP&+M$2PJB z;Or)s+AFXx#g7(U*aIsoh$p_N(?&(LZmPTYR1NY(a?NH`t2_73@NSFYusBDToqhp& z7x#ae%qMC{$}FQ4?s%UST~%S>$UdfciCT$6dyZFa(S2K^EFG6dyrRFTZ-3gI@K@uW~UCuDkBT8jHLxQUBU*I~%jG@jJPgWs(HvF^8PGjTTFY zvBg_S9QhhrdDMikHhL?GFD9IV)p?llW8WI?utC6>?A{S>v(2i?$l#X|_nW(Q@Qvnn zA@d@epsEN=&DXcsy?KITmX85&X$${160l|2DBCht1VM9A|;$f4YT3n}*Q7&N* z8C|y%LPl4pM_G-7jy+txd-v8t&CKpaQOOMGE-GjY-3b)XTz>+%Fib~nR?utY1N!k) zaSiNTvv~7#Fxy68Go(r6IP}O?M1Ium>$9_IaZYJNpCb{?#!ut-V^rOdt>{)!FPA)i z{41f%-6^NYKr0%@w_`9LY(}>nAuk-kaoc(0VqV^mWS0t<&sIVZW^cL>)~rOWcb#sC z`sU$!cHhHBW`AC*z^W*4xAzV3v$45}@0u|d?I{SA6yqX8oAO9prU4!GEf?)?x|>45hc z$qE{j4k;h7o^@en{hpjtn&Wg7v?0}GS1&CwSvU3(>!C$Nl#e|-xgyP!r#7>eK1a(k zA#iv9XjQ=(BTVo!pTi|My|REkTfGLh4i5u%Ba06Ez*Sy_93g{Vg}9YNM}oYn_G}_| z8K^Fpw}0S)$FNv8={bp+e8nIPmZPjZD~2>)Mnz@0k=(o2R=t7u?jaFr8^PKIBG9g-bJRvF@G~2n(f46Wetb-^43^q+$kGsK7)=x z_tmGTh43hDi&H`8vQ~7tX7|-#0xiou&2p8M#$VX)^xDa-TMkxPsl*-^h9**!u9KpC zot2x3bIW-z`ft!g9(O0dbfFZMmwvRUBS$ zc?&_PyzF|Yzh}Lm@}tI~@u;%AS^r3tr;J4m60Tp4WVrsbh4riQX8mWX{8>X-{0}4L zC1Zr^A1th2l{f1jsPY)Nf*^;{{u6u_u77`LasSKmX8k*={7yrjaYXn>vTeBj3#Wd3 zbkPu}Cx;e8r~B*Zk!8u3N9OCh_6^lZZ>;sh}^dlS5snrA%MM2o_`Ba z@0x2_n$%0&f{%hkpu213&Qp3{E;}5l=HhD%!k)s>ROn!- z%SZXl8wEXU_SM(JdP8A0GB6ZWU){UQ14M)|N9g6&J&LrAN5Axk-ClA87U!}fe{_xE z_Z1MSNF_}a1>z3-D;hZbgxf|Klz)5cu)Ve_=UESjvu-Q5G+T2Lr~9{bBb2h_S+gSz z#gD=+bUq#5)Lh{j7$VvhTV>P%Sxvi~ZNWG$DSR#NhlN>>nn4G}X7eKoWx68jBl#lW z8FI4nF*@KzY6j>w_m~7{F}#;^7thlN1?;Ho<)t!@qZbZEosJ7U zuAF5bXPuL2mWi{=l6)&ft`^o`a8rUbT4<34$M4bD-iP6TpY+et@u_O#Vv8?8+@*lTYnk3gmOEF*OdOuW}k~)q!bP z@@Y0mjxRzUF9UQi9u70%^U}%7LhhJWkB7za>Ig(-HWjbC#_R68(tjSmUyNgG^Z8Eb zv>RV+`)A~|tCSuJE`Mm>2zRGz?BKTKx9+TXk$=nv&ATnw<4=ZZKWnZY9CWwVR&KAh zlSZRuCIgeGX2lGo;HETI@5&3&yw&CwL56O)p9wjHQnkda0%@5%`%44n|LbCqwn!pO zEPtU$Ll zyz`Y`puA}Q3NSVR{ldsv9_Wq-(;N4e2`^uDT9`B=?okko|Qx@tDp!W+li2K=f5N zJ|qrZ5IZT~Ci}fQKu*4`O~d2VMdt~BuR`~1%6{NMJ111?K>)2~$yX0NKpfhc~2b55!B0}s+Us1gqxFeiPN%H8FSn{cMqfc)Ema#AjC z$`ddL>@<)Z$j*odKz4kAn6;` zwOqP61WKfFROX?I(5YI9X8%X0j>Tkr(HyfMHJq5!PIl$W{Ky|=()Y?M4gW_%p*^9T zrK3qWFMm7%UgaVQJlK{O-cn+h7wB9g5%ku)gu{{gKi)w7=1mrXbnWq><@X$|Cb!0$ zNn^dcey_Wx6{r#uz7_AEiTh=mM#dmr3u8I4R0%zQi1i+skbcrmh8(GsA_C6K1S;TE z5>SR4JDFr9+*oCk6<2wlb+f>|~>{y2!~zW86RK=EpOd z@T<<7YaA5?<`9#~!VLC#X1%hxRBm~k-jsq*iQ@izI)yngyhwi7+j;ekxT1$jQb3&wuUo&@ zp$wdCaW2iusN~U$oju!A1#h<6d%5%c=zrClXHQ?jhV2*lbar+++uM6T{IEgC!R803 zd9177JopMZ1}5IXLMmMLm3trF)t^p)^wM<0LFbG~wvsrxqz!U$wt74?nlr zo4J%nFQS;3mB*mH|1=$LP?i^wmEjoHt@q^yA7F}SrzfKgI@lAx&p@}&rY{F&;OUQ3 zSOPwxIYvItPtPdLq*V=S_X-q$%zx9xsy?=A(0At1Z zB4HHjcUBL^pw*YNBr9PDm+irJ1u9(K|N8NhgRdHgtB>sWZ`r18ft)__al9^`k0~e< z0U7S{>*m(2zib^GoUc4;Mer^x=GG<3QKnGYQH`$~z;s{3uImvqT;nl47|!JHC-nPN z{f2t*!SC}zK7uC)U*WUA+<$%esKFh`^+H!acdLe)oBgv^viT%H)_(sC&+`?pFhmo1 zs-0xiT)`x0;kO=$N2*u57{^K_%`-YFE8wv@bFj#02Z^?Bh_R!B>{{iZT(NdpybcvC z{tT3IN^sxL$2OOK-TX^)YvbTxu+qAOFMs*Czt(y9wDThEoE-8aWPckFoLj3o8ynOp zNL1V&ZVrV6PlkCvM+J#C@G$H8IjD+l5Pu)pffU`a2c$m1=*>XpWTiv2>IakFcG5g* zCu3p~(RsMt9d~ENtKvMHJ_BK`&QK{O0DErqiy=Af$m5och6&S!nLd3wYl;LqjlVSf zp;16R0rat<*RZXG?SC}nB>N2Dp21MDO@R{ibjk6G>^|!)x=hMA2HFS~UNH;xTGj~b zVX{e~%MeO6aLPqKfp)6xC&R%l4Y0zh3R zQQ|LR;<6ZiKy9;WjN2oH+ZY#7f)_d%6-KB}%m2Fm&FU%i^-Jpt6L2&(N_54I&c^!tBdw(N;*&3*a1MfkCeaF#_uyM&}O($q}Z=I8t!Z zw_{cm!?K%avy*NyJzd2`aCLgpzx(jp`+q4pMSoG}uI72&_smjAr>Rqf+KfkQ*qoK5 zv8papb7Gkz<)*L{jYRi0R*mbhZT=_pn?WSTS|JTQ-)U$)?c|i}^u$gMTZB()3K+0Tqim+h0qG204EuyNcxo&*o)0(OrrrM|b!P#PF1elk%rm)B=w(#f)}lQZA22$r5Zomma)?1aRVPWH_TMv6uO(EN#HUTUFkikAIvNutS?& zpgnNd6ci$HwsRgdY9AibwUY!xzm(?i$$w_?@LI1OLqYYOJv_ z#DiE-&MH(ED3w7~`anIIq7#7zkec{5C9jii5=569UQrxF%<`+WP&E<@y$SZPDnRFX$Kawh1(oj%%=rlr0mM;MlP zGF@~{b%vS>w1DJj3#_7dc{ZaOg`|q!mwYjFG*xGp$U_KpzT)x5DZ?bv?8iRAk>L8U zCfFjPE0|`G?DV}I#cHi5S%GvVkBQ|lx}hwnn{{i7%a3rehy6YY{Iwy_{3 za6c>>D;C;e(ovLjbb3RY7peesL!UHotMl+9imt5K+K*NImMmVkwAP)_FdR3=U^7^U zK?TNWNy}SDPCy-cHZ1T?%kQRX|2dxuhOa(@}1)61l zYBomc^nEsHwl>d z-_zI6o^N+YgTFunq4rV>;tDG~uav}Oa@nLGXp~~pyRc-md4Ejg?v8#+HI;slT1wxv z;>CqfhSE2GCJF0)cs!MzpJ&RSUX_YSsvE#*=MKxrG;21xs~lBdLRSfwD0yD+9mb$^ zUJ+w{4?{VkkO6&ma7-~OqKC%WIV@6`XZ*K=gYgRI7010kK4~U@-ur|Gr19Yj{Bx%z z-k)T^2PHxze}AsE?|y3j%eJ8ooLiA`gJ~F-^9NZDVS{jQ$ z!K#9R=P!Tu+V?-fPDj$XMbxbPWu>)cQo-e^+wjmqc7F}xc#>?P`87SArjxTv*;FnH zC1r=9--A)A)jXz~9AsClY(a^$>E$3hxrBm$u48B3N&wF-=oN%bu&?gG%kqwD4;^zg zWMj5A8l_~@{n0`DHoQ6^Ww&IVQY>K)BCcLCfylCnGq)!g{FaCog1K1vu-qU-6 zZ4zTDx_^V}Y4%zQ?Pb3h;Z90{HXYb?1NJe#+p?>pM^C8G9WHU#EOBf9Y3EmmLJRty z1&wd^pKU+gdrIH@st)NN3&S@ihSe?DQk^m{ToTmf>eiE%*G2RS2TL{dzKI4#&+G0c z8(6XAd51YAoq+^7p3kz@9pE~s2(gIrkc#EbX@Zw7A3D!aV&+je?2xfM3 zmd}9r(EJ=vXxF)63(?TCp&<&y)L+5*C1%p*%4G-C4zB`eC7%M!vJq(Rv#gzv0*_un zxPMsc6^|YdC_(0wwkNcUJ~_$InDvsbY-FAuXr4cCwWh z<~Ba1#KpLgp#aPyh16^mw*W>TWQ%C?rEL7AmS>kN&o5C*UD64g?36pA=@=NfL3USq zzRGLY!I*G#k7zLI90&zg31fBG5=^pB|9>4G^7#;c1DW_pm89Y1k{btKi82RYZ6Wwq zG)-G~4!*izkohuj|R+9XmPWJY}{&T>;pDk;{lX!soM2*%Rwo;Ov`+b zU80SX{y8beGjqlq7lVsSP$wxz1Ak(tWiZ2;46ES~|9?6y=9A0809N%GY*fq3L7ona zQ}_c5eg5HcFuWYhF6rWKnm9oT0S1Y6o>!D?=R8NdkJgyoc=+!fiJW4a-4p+92boL5`WqO>IAo= zut}R-(k|gr92Z=2Z(o*k)HW|JN$OtCsF!Ag%NaJ|a&`v)A*D2hE@xAP4TG%SU(SaO zEf|DKffMBMtxgA~LWh@Np*wauPxM5<2HWh){u+(kk-N~>oGgMiqs}%|(jxLnY>G3VKR<~Y zY((F`*r~*V23-$@z<(`n*ixz??3V6;s=(ut9CnFMF1xrnMSj7a{(;1((q9q2vvIhR zFz9~gGTDGtm_VNn^HaUKl516y*0) zBcq}+ipJ_@q!bQ*geU&P5&w^Igj@%H6h7z4DK7&_Q|*WUR-BDtb(kM#(?*#Livlmk zGxx~(N#0j?N|}p?bYx$&g0QiTSdrx=tt49;Qccxzk1Z)6@k~n)c8F<1S=o~2HC>Xd zDXKJu{|pPXrhnVU9QZ|hWz;K4sXRDnAOkg!eHx5_ejj|bN+zxnH;r2`nvtqn(oL?W zmTYbTffza#g~b95kn*$x2u&|xOHt0I1uPpS^yBcdyzIk1?HbJA)mWc-2d`zp-IqVp3ZCvuyJEy+*ufse4MemMPk7!o3tXOx@ zf`vs7$#8@=EYEs{R^@}Qnuo$<0^eb}hU`|RUHXo)N#Bt+oGrFQ{RK3T)|OjV8se3C zixPR!Lw`Du5dmWCm|&QQ44KMo?rtHfrE5&S-Vw6(4%6;4ma&x(W(D!UgRBt8*5*V@ z+rUdHIs>ny>q?F%_m#`#Rf41`t9f+e_nq2=b;$ZbUrI^n}3ct&}M&@jj|2iCmwuUTkF8Ty_3gJ z4)4GuOY>pt2^X7F^pI`+JVixO&Sxz~etWzscCEq&yrGT24c_7nPdXukE)=y(@^06( zVly6)IO0UYHAw&V7$JgZ090Z!EnrMbc8dfVGVgOn_SUZxm-~OZMK^V1^|F4j(yVrLqNR0$m&>Gx0IQc=xdR566W#3#^@s1R|Z;qcxhra zY`3V=A2K`^-D2D<=MneO5sSg2!xntqx^>jLgr9$ak>y!=2O|XNC)R%l-pUe(+P1^L z!w7sZ3m?;yjffUaibf>Jcr1by3_AGDW48iXoI0VL;3@r_*yvCfI`T?Y6;f0@h85f? z2k#8Bs*A(oPt6GRh}9kHIQJhbcpUo=9MFGQ#r}bXdQj*e^00F%jw_|6(319OeEL{%V@>uP9Ixk+;gXW0Hf?jV~TAK^Lg{%;Ae)h5-4nlXk08Nbwl1G;>n zZ5pq4)ZIeLUdb9S8=vTj@bf~qYtD6?{DaO?4)HwZyqLaEIhpR;Iczj~4=|+$$#K4) zkQCBYoHUrokzc_wY1F!zG=yvibxTNhTfTooD}Ose$&QvyfkNBt)dR!X%)pPDRiN6I zs~}4lUU$&zWWwVVF!th$tz5EACj646ZRxl7DceYF}6X7VUkLAJ#S`aUK<>M#3=G}R6>8eVH zcT61W%(3dgQM_s3i-vek2aU4GK?{FhwPcZlmeuJ2Mhh^RJbko!$+KzZzR`7jM-hw(*vtg6EODEyEuPf4WLX z5U4`s2qQK0j~GG=8>?zGIw38x*(K+x)~dh3iVl~*n^j6?te(=?=aS-g<@$fTEfpH| ztH;ze>xYI@?zF7cl%DAowQ-2{^Tt0f;cv_Bf+J8^Fko)Lk{gB)U5z;Wv3s=Qu2!(3 zthmb&JiB8qK6>fVdos|7pxDW5a!GEETP=(=ga0ni&(F~*z*^B@p~iho7gjN$k>0ud zjmTq+N0?U&IUW&X$=|kab=!X%kM11(v)TIk5Y2ZmX6y_>;rIr1E00juQt&No&Mobx zMjGAfZ~t5gbLl@j;&lMhZx7GO6lL}-+JCe>BF!G|;m37;+As!sS%Y%bYWJtVI zWseE__>#s#6f#+^U#&{TkvI;t^11Y&mGJBz>j0BqmIFybRJs2;e!(n8N>+EK=Xe{F>MOBXdUN<36N))I1r2O%P=$JF=-_DQbe_Jk~F%brDZ}3 z%p8qR-!3mzr<#E5yS8cB&mYMgIeg89MyD2S!*M=YnyIdAVE!ls`U>7>@@eYB@%W1!z zxML_{C}_Yrha(NX8tX?E5d_y2$b@(NBbS^XVcse8nn8*zCaZ?;7`id-%RV(H?352W zrZi=ZNo_;T=rtXd=+uwqyr#^wrMrX6%(IiO~h}>%I($DQQOEzjm~*v z5Lzm#kdBMgFPML{>iet_SQ^n|CTc!ZjplTTCoq-xw0OmYlm-6fWLnB^Rz0sq{lRlm_{SvXSkG?QInm$OQ#z;s5oYGa{D zYsF$);)|(sjAbM>;k{I zlIzrgLEw=Z78W*ADXF5CK(8@i@q`3ctww4AW9C?|+KJD3_9E%fGcf z12#baz~jvKSvKLD9XMyS1$yumfKjA6rQL;Hepg+Emwin8v*CpWe^#6;|GDmDNN1&G zH`IF8mT(t#t?tRjgNn|n<^bGpRgOIZ+yo<2Al9Z>!_3W&+@_(i0bq>GjoAhiKY7%yR6Tp?18w7-G?-02#baYb)dkDQ{~W5Dk*RZohUH;PGz z^B|Boi?B6i>1Z0`;>#|zbv7+l_`wakOb28<7Qi@ z)yV0BdD+na0Kpq&!a;8iY*}EsADDkyCEoCu@-1)F0_s=m7B@~)BUBBq8Hy}=ZOVnF ziY&yVf);2>zKkGZ-ppsXHA>FUVAg-&95@b$Y7ot|G>4H-en|W8FDy!NYW282sLA<8GDfTuB;ay~g-QC;uaVHoTsM@{xc2=_ju* zw=pTk2+i;3XBpkNr$$!y;c+%BFenPsT67%*-^r63?9Ci=5DGs{F2p%9fN@A-xt*U= zx|kv5qH(+YSlKz5BU#)LGef8J4qGq*-66pIk+!sgo<279-=5!n&0`ZDHhH!gRwwI5 zOT;lzOp&c2#g2t9&fk)9ND+Ujt?s)bA4|o31%V#91#xx{ox6|4h%GmKG+?>(7zYUf zW8se3Pbe}m!7V4NxRuD@X!ytSiE_%Jz!~HvWx9g#Jxf32#neL1wQe#4L07K27`1|I zbLJv$5Ym!WO-^QHOhqmtQs|6bMVhi$5@jumz^bW1CMYiAP@)!(uEc-kTu2@or)Ox> zr2a!=r=D7+RVP_ODSjILNs^EMb9iuYn8f=`no1MnmT$jT39GNq8-)=y?0u>G8;RF_ zL3wRbxU#xX)OZSlts)@uke-lGe{Hx%V*ZE*Z0NQ)075ySKNfAynxfWdRu5(ijC!-c zn)EgUCAGArqoGoA5IcXZ^={#sHbdP_wqofU>})%L!>+EaG}$y-A6l$c7AyH#q;(kG ziJ9lBCP|R!T6#A1#&tAo^pCFIC}JA*FSJ#(*Bg;m$?nrF)8K8t!mTEG{+o{{n1Je5 z5b@M54vU(weF?kzG;5&fHlK00l>Zn_)s0rbJ{YVR8qo|>1aE)BFGRnhxl82B77wJo zcI}ErNRXE1@PoQ9JHloIOuL}D;QFUWccCr9*0(8beMYYOwtQx+YbG<1-=nZpTG_u% zgJHSCr<4tsfLq>4`95GgtT@EdK)(D&x4odz98jRUo-}H@l2?7NJy>ipUTh)$kA3(* z_Tm57hyU&D!$E%nRccyuV$cL|XH`2`{$FNb9@aU_8~(c;=79uqlC5txK$`SGPOL}H z_j*@7-&3YDD=V1ntLRdzJppcF!L8M6Mk0_{AINUAPDGvkrmLz6ST+HywK1!#tFm3I zgMqy2br1j|oCn4C)cD9Wr({H%lHJoW@!WiuBWr$^Bg19g@4AFi)(=9GdUAHU_l^OuSb}&4nv_^yi8K|Vfwk5Sht|zN2l3$ z_Ojx>I4Bt995z8=)!sc8jmNO#dh!^NJTWB6ib~v%0tIW(TOeu(xfiy~0*%M3gyr!n zVpLa@INWR0$852QSIvzj607s{C5jqA5P`1*5&C~!g1+sf2<*%2#+t$3Pq@$mlkT=Kb!Zkxi`QWki5<|QE0U}dv-gSrswUX9L`Tqv#FKa z+vY@hsbz=<&a9#5b4_z-lYC%~lQ&Z4-IykjpsI_1n?R?{Fy?R(N@HaaBeICFCx*dQ za6NzK|K!VnUT&Ap5S=w77Ao8jmCCxTm;NwKJuhXe6X=>uG?hF)o31hoY|sxM6&jG5 zn9Hv%&m!A=>gY%-_BTxQIb@?464tq4aG`?fjBa6+kaSxI9*m+a0cBw;X*T!?jw6l? zy`@2*?OH?jqUtN^9ISsu*C6`^^Fjjk+;4vdV4&Bqsi^W2&-#;Qm^-5Y4?G-XUp+29 zHieZIcrUJ|l~r2OsTm&cWYtIdB(a;I zbiGJFOq_0*_`N`ef+kP3Hub+X+xY0t8e2WX@PK@h zj)mx&YF$hOXGS=VUpj0jA6gYeCvSf?a*E>vd*;H5io`__u-ajv;79h-TU+oRgWzSU zdpvcJ46lMxrhT0jv(jwSDmM{;h+9 zRZQ{Uy|eXXH9xi7VKj>Q_&nvn6TCCZ$FqNMFkfGzJPPpl{tNu`T>O0g;02{f5NSpz z%ZN%bf*Bls=uh+yrYxx^lkp^&=dlY|x)ZTJX*rpDF zc;75@sBQtmj~EvV=?c;)cM*Phy_1#kR|{HTPalmH-yT}7Yw|uP*(T3?qRbSQ?L$6w zLtB>(g%t^LYR1AwF2GsVJ|jY$InMR#1n&WcPF-NG;X;wvSUQ>W!z-7IZk5rp^w)eL z15K?A1&{nHx>G$?;pcx)Gkdr3ZxwRI)hs9-f;C!ama%5rE!{dRgx0YN?r|t_I-RB$ zav1U2$bV4De_+x!z5}yiu(va(>xTY1X+0#qTCu<0YmSL;d2+z1jKPel>>e0}3hAig z;Pstec(GvZrQ?gay6`Hb1B_wbt@3QadE2CQMi_h(HEwA9(p(fcb$RxGI&c!Q84qc5#cor{z zj2aU>a&PVh?9|Xl@FS9>(S2GCOv0z~YnCg`eSFet(%lj3tIS1mKW`#oztXYqR4k~& zcl%cU0BV1i$Wcdc@7iy}zAUmt!*+f75S_vkp@w6{AbMH}dTdiUC7 z5V|TURO<=(UE#g*5&6SwK8_=Ylvz}=_ne`Eh^4mV9&dXs3IprJc%mV3PI86p0!brM zskKFxT~p}zQbzzAg2$vEV=DY`?!qZ?b=5*JwGe+>+Dmn@SEMMZw+s73lx4GUr`atk z1eMU2F5C93u@y`p=v96<789#T5nIyqLIEOG&Pfa8MHN5N6uv2TVY_wZ(!?M)s7uuU5pc?NMx!>#c0VSg-yYSbeIo}%c1#W zTg&ldSV+_g?5L`0Ct&o4&QYo(QP=z^RAnzWt08}~KrbxrC)w394I!k`NzI3@RGhfH|b!nO67%IYAp4~n^^ZRnqPm3~`#fdb9A;o_< zU%+ZRD^(R&NCWoeU2)ZsD?bTJA<@5 z%L3=bolZw21D&t0_3l|m&Dpr3m{IDkRSK^S!eb0HwGBgMo4;M|cSL=w&4YveKQV!S zdDv-QTGZrdSskLIY!UP238z*!6xVk%*-6f3A5Kpi~a zp};DAaC4^SZdF)y|4de3NXOjvV&4H3s0-6*P+&5{C&^m(8{7DcI2s?xjqj{GD|Usw z;l3whwXe+Ae_?QR7I+l%CpUjYu;a?I2Nauu38F;FS36>!5p2^ur9dIN|AwC7q3l8B z!MKT-+lc943s_}9Da4NCY@@b2UdanY)F00k@DZOo7p&61&IOLSz`1aIU{M3GhKo@x z_c`f`XK9X~>bZ+ml?^x!3cKs4YdC#KS0@WpJhUNA7YYm7T=K0F7H@x9Ma(zXbV4D~ zgX!$~K85kJ?j%2^QWslV-GSpQe3i^L&~aYM4R89&d+TI+Rvy(jy=0TOmvW+b}2P z;BOE@lNyjopM-+Z@;IEBgln2&U?d&^s8!lr(?v+vUTvS~J?J1HhjhmG{>81q1*bLg*Ny^}0^ANGF)ug)ZnGkUF(TlZ9T zrOUK?R%3AlM2Lm1tSi2)h{MxcR;$4Zz|poTTg7DJ0n6)^?;BC-62srT8duBGO2nX_rIfa5`78nImjBJ{il z77;wB!IDr%I^%!poQ3L_6y9#Vlq+e|5h^jv0n{>#FV6cX!H7i$NFQbyj% z7}^*)oV&!L2N_8CjBmQ>GIQ(Kv^e*2jaU!fJ<`S0lk|*!f1_^v>}v7 zg7EqFDiu~_!Y<++t_(A5I2k1VROwyt6sau}wHQTJ_6&b3QAWffCi*%|HAPlseEUqT zE?Sgn1FdPBUI9PBXJ}+Z#qYS{cTh24Q+2%yWc65XJc1(vRqVg>#=sl}I%$p%!#igf z?1AvoeMo`6U@!s$8Jx(0n7`Ou^l~Fx)6$gb`l+uy@LEMCJ13j4Gdfm7P36MtlwiY* zaO%od87Y5!qwP`bB7zrW>R@9mqiKF^FnUzKhg2T8o9&x;bZ})a8CeW#c9qJGXRHSJ z$OF{L8qKM%ZpyKNMH)$S`GF@^ud3q>{oc(U9L<2K$}Uu{Y_f3ltm|jE{391y!F9#? zn6tEcvB((viMpFz(7_u^mt-l-f&7aE6U$v9Uh99HcX2A+VxQcG+ew*%)P`l7SCuOs zjjzkhE0t|BGPyXXDxMxYda1z-HvQt{!BFe%_Z!g(E5AmkD@C~Tl%-UmiPssf+KM?7 zt!aw6ao%jd;a!Ie6_8=T!1NeFKEi~%Dv|tVZvkc6^VrZjV-)FZM2q!HBbt4&0v*>L zafpAGuFM#|0A^wNv9R*|&!*Fz5(CjV@P_RKA`sJIAdc~*ujeV}lRm+F&AX-u^?Y7S z;OOzpRVm?3G0Z@&o;I0+MQ5h&k!7Hi)9O!h*JqhD17^p7!SP3F0y4n(nGLs$f%Gay z%;im`_06!3!IP%ut~ll1&L-2WPX~WXgw}r0x#4v)aVE z15-ScA-5-ZRXq?$6F(cMn+-8t=WvLQAuV+d!Q7J}=V0=4nrOudu<%$0)l#YqgeC?C z9*5WDn}AYNC32>0tMaiGJnbE+3#wWhjM@-Xd8so)Q!;SCqmRfu3T|;$SERCW#p-|X z6bGlRk%~gx#W|T4vjX3#)2A->9(xSHgm26K$v#d19(usCzOuIm_cnHoAR9)3J5G*~ zCY%oPoB?9lC$NykT1{)hWLme?a>;MBrI9(&RoE~J*gPF&cMpc3fS{@#TF%GqDE^!PSO~oJt<~bW0ngNL@GQzor5vHKik(`OA zP-e44(;Rr6AI>n;C5B0PUMT$=1|u@)?H8j}Zp6D%eCe9mNSdNSPD5M1%4+1J zdO8+rMA4@kum&5Lm5S2$SxMQ1&D)?H&AxVSK9K~A-EFN>(D}e7ymZvHfJNQIpK>e55=G5#{k*s8qoOP9}M zAYu<`qSJc5_-4N3&GLVy9+rR)f_jI}L90o5mXBy@n3EHOxVsyb99D)3yDhf^)7MuUKYUTDNNt2#C!zfF>EFHNjaMz zC;5z!fv9WD63Uu@6McMIc9Y~g&=Jlv_AP>me-8U#x(jQZq$GdRSb|7RpKi$_WC)1z zHD|rQKf`8ZEb`CKawvmWC1HiEpC{?~LQsy?zMM6%OUfL;Q$naVA;%#5@Yo${U!~f! z5^&(89HE~vl9EmF(yIg(TfmIh+;Nw3Z|!EYy?m6hW~3iK13@>{FN|G}m@Hfl-ZtZV zgHqv6&Qf_1R5pK3&}Ln?Q}R4 zh3FaD3Gts2x|0mgIP1&)G&={`N)|+;U$7g-Me?%yybFuYU;whu?`@Z8mlkF+;4y;~ zhcZFk&qRM6$mc0ZU8)vIKsQ!Sh(Xkne9AtgL!h`6)JfS7N?OSU#G+M@v4q=&Ju4%GgV~pm5H}?v%odqK!fsr=f&VL{MAxHt7Z^j5RVuoOnn8YY zl97Ky9;ZMsjg)a6zEz@1d$Lz1^oAUHqWHPH9i;64fDbY(+nMQxkPxdCqfHAvCwsm2r;AqU0urpLjXA~p_ zMkfjjoW?UGCkeAXq7a?hH;0am)a*=I?vdZ;*8S7s{C{P|=+?)Hi#ar`0S6D8gnft+9Kd!rPF`Y zQn;-@#Z;0_crd30KX8p7cBc3KiF4yE+079(9_{qlfbJFwU&Dp8?C0!sy{XHvf1uOn z;tzK#xxSF+Jvvg5@`SirCf()$@NLSd1l$VG5Y7L3W|@;uT5vvmn+)^!8QE$EIdn1V zFT6UG#`HAFfB))zkkfxN$5HY7 zr^BHHDSeo1l+XO9z&Ute5l1Zm-T<*akOmtX6>F{-gT~XMcoJIj_YV`R%Z_t-5b70) z7_r=vIh(P{`2_8o(uQSG);}M(oT^R=RvU@QME$ctKDB`1_hMqWSdKSmX((ucO_%$6F_0*l@1kmq<;55 zJFkA2%_eU%kV2qOa^!@5Ev?1;{NO7zkh0zN;487T3e4T3^j-QfJn_ly44Wp5McUWFXE^VvfcilNh6QX2@R3tU^rRq# z^B*+li`>(6DaO8PVf|EVG)}YG+pL@bhh^4)xMLye!r_<-cx$*rG-}Sw$F$>9r#e^U zPLts*A#h#Z3)K?r)-TtWPMDd-HhTYqh(T~8Ndv&J7e-GJ&pm%lPXV9;h>Z+|rLQA2 zbYM2%4vcoLj9cxhNo^p(Mq_#j1vH|dS?=lYpYI)f)mD|XMOco)2fTxGNk5sSWqDpq zEk|d%$L z)YH05qLo9I(?J;jJuf$y5$Jn61h7X@0~%=04H1-~WdeT{$Qe+MrKn-PDx31!Z%h<3 zJpl3Xl^1CMTsNEn59)?6-rzo7x24qUh1@=<=y$UZ61-i1Oupb&e*J}m-d=^?Ug2EFkPme*P zc0JMJGD}%ajfyJ-m{UNK)(m&NT0`mYCxZIaYW}zjO7zo{6VUlVg+^~3`+;&Zi)}$F z_Y!0ec#2j6+eD-nAFua6nhO&d`><$f8@Bij?zDeC2HyZ9&4)5s0$ZJicZ_Vl2s0Lb z!TiKt>mr$k#Bxsr*)}6p+=w219|{^}%J#=AE7;j5&|D1v3~H#3{=y~gQ8dQz8SwVB z7T#G+Lcxl6M-G=&vu5Ia6f#kPHBNtKVO*oQ+$m{gp0Fr4xLi>#7+wAT z+^oBu&eHA+f!E|)??pA!y5JtunT%K1#{ADGwiM7sP`P#G8~l3_QbDWbp6Zj6VLpGU z->~CF4NI%!aoPd|HR-y2n?rmyBgnm)KZHq3qczas%L`~ehbdIflW_M~jr-UN)}-eP z_B1mqe)E=$G1~8lmAT~(fJrUGnNJ*GIV+0DR9sdA-AQ9S;xm91a3%Fmcv@G@)ZJK9 zr4$-r&iWwKWJHTBtp#e4P)rRa(0zY=J*|E|remf*y^4Q=7jCWc*=JQdo!SErYe-T7 zs;4jvV1^fDN1-&w&UM|Q6!p@VTS??_ho9G7M+kaB2Lu4Gq#?<|i1bLVV)3=j0{@9Q zFfc5M^O3~_)wX#rowzF2h$IF4>j>MCBS9(@rC{NZoJMFtR;9#t*QA9q-2i_=o0C}& zz#_uhi`WNuM^#C*SDQ7q#xl`Vqe#<4Cc#z}W3{icli8K}>l(^S{RW`sa#FV+PZ*uj zkp=o@Pz@FvuJB7+M{c#;DxM0j4zm^|k>pzFs>_xD5kDLd=oo%2x!ZbWt?T-?1NcGP z0*J2yuW`&7ME-J>5ZRML6On&E!(h}K7UWau?eZnIriLjd@}l0RRD#C^a}-iCk+JPu zyy3lyMAq^(yi~;GvTqy|g@w*X_>T4Lih%uin1D83*B8^ekSBtrq+1}d zuc+S|m0QeD_(7IpT4{e*l=3^t42~G3Jk*<1&Y5B2O)ZHQC_Wz#Id0jXp`rm-Fq0Sn z?tQ!XA%}jqsDt7|Z^7)6h!)_%CVMS%72X?r_o71UgtH-NLj^m#B`Pf7?5tD z&64};n37{SAB~e<(n;KB_rGZgr-c3FL)XZB-(`=I4?XW;a#(*?5L4jG7a!%D8stUX z^6xat-#qX~*?4yU?q?ij6z@-aR~_f;th$z5?b=JLs9H!kTtdU+bwb+3(rc)-au^RB zP^^<-lo+&^$frHMMn3I%CMA@U48Y$V0Gwd_8oz~C&Sfp7-{p>)Y1%_8htINy8lg0< z6PaU9jafxW8!&%@5ikHl3^Lc!*2dB+TTA7X!d3^4%;n=Ra$>G&2tTiMj*Yp+cPpwSzeDBQ}O;%4qjJ2}4x{(YNnwwZRXr&n*Ym>XhO zgwsICf@Yn@+te^>&GYYy+*eZ<_2MYpi%z>ot*hER7U&>)t@tkY_TIWvw+H zIH01_8O(o_P8tOJj^E=q=cUc4mNSufR$0KJGWaUcG{dH#eukT+4-1V4SJt6e`8j$1 zyTwV{|q@;@f2nMp!d` zLWlAntAd7UGe~}#plJe`q;STt2U4+{B!BV-);d0a{=0j4&QCu7(YdVIdsO4#m;mDn zX8^{TCfV<<#+4yJ_PeVKWxpFM!1Lb?;s2qEwLDuvd}xeyK~4f)ozk4l`C%4-Sr>#B zv(bM9#rYS6l@rqh7V|v_Z^#0(NL?*Xb+RrhwN1PH^WS|8J~c`xz@W-vmJX-ouw*$~ z_FzP(c#-)pL}TT9@zVo?{+1x{)q9OyEZ^gI4}eEkg77a7NG~A#-2*VzBJm@dRV@a4GPD9F=6$j7?NQCm6HbQo`YrD#7VL+@0c0Xi$UdNQAGmOS5PGo;y zFR({1*b{|OV?!6&xuHnc?Xh?r_07;)L7vAwES-{zuJ2SoBuK0hGRj(K(TUYrponk29G6zi5rS*ICL)Q^;eji?E zM&185Fr$oz_wHBCD0803nPKSA{!mrvcVfNlTI#mzL08N5pLS~j0f~t{E|wOYURHj8 z1cH?k!?-mrmZ!2Cv|8KzC}&dhVhKST**IF#%w=>k;+oRLw(%}@VKN00<8FUnc{yBi zrg$DMCM~Vz2i1umdQ}q1t2NFfmBP!%e2sZ}Kd|uKf2f|_UAxw~t0!mCq7~u-)Qh_d z&jmCSePIqjRU|k;{uhjJZ~Ys8hZ6O=vDJEy=J}X9}K7{C#%NYo!B%*M@!{tlOiu666*+jmD+ZRAdiZViFb2!mCK4&n zsw_YF>h8y3fln~PA_ zYAGVPN+ZpRlB+b+B_Q5Z3F$ZY_HA_nv7osU@>5EA}(8^cYl?A({;4WGLf7 zSP5Oiq4>BchOmEeeP^-#afMIJalj|$n3AX;SG&YuP1|{S?V3Qxtx*&3rCpI*&#hxs z*7EQ8A-kBt7(5-GX2;Xi_4V-Iety4?5Ji=*Yi#DcLRz5-`i8{e?Kf7R_kpk4=(+{} zo}9Fkd;|g}E8Cc#yPeETbCk&VMSO^V9$7C2%r^MPenEdZ+D}gGhoTxZIq*08^|;{l z>ofcD44=+sjtHCi2Nw}14X^09s9jbPV;qjDHq=63HqgYmCh>+A&2+BE$Pxii|d!;!SI4WtyHy1|cN086>UMgdvE%a-uqg%yGzkO)Nc? zxp3JDcwB$G4;9bH`p|H7uo2qb89pC!y8H_}8e`i+q)M0Lk9;YmTGjxH`M@dLpj^yC_>8{g$e!lE%1NruE|UE0_))u{Sl;N)vv8 zMi~TE4{a}%3Eq6;YK#1o?ef{!i^)<+cq|WLRe{z!OrF(?w<>PNbwx`*l~*dMQ;n>C zkd}W%zq4btM@Id0z!-x%rO3R95~ni`>{PJ9ov_^jPKht*DO-%4?8MIFIww~WSb>oN z!(_HajL9gh5mj(&?PNqZTDcsmAvlZ$;R$S5;7t}ES_fC7N^Hi6m&x) z59{K=SD3oqtJ8o4bm{tOd z@gxXr$VKD97Zi%!ZKYSn-_;h6vV<)oJ?l;_n-JTFrO3P)No)%u&yX0;JMAy&Ug3Yb z`)Eg!X?5Vb;=`1bHX+^U_VYuPJD%sB$SiujmJ3Fy68T0ktGgHNXhSUz?}Nj8FFh5u z{VkSmyE$D2;OC#Mue0-+vfYQD*O;Xm+MYX$f?5J|@<^~jTn6}Sk2(1SDHbEm$LG^@ z(oXPSR}bQM31&#aFSh<8Ua1$l8^nK`S}H)GxT>`l0)w=G_T_ZIm^(mpBL(yDlj>-J z4^r82$AbFZ*gg!?7arYWNUKyA18iY@48jVc>sW{k@R0lpmWin`LEun&T=PR4$%prG zf``)asb&jCvEd00)@$PJhuVc93Hu{X=OO?tvu zi_x%{*W;mfp+P5w3f0GzSSA9stcxnUz6=`&lmRKj6e`y{*{#YNzy$}_pUZoa?_7)f zPwMx}cu=ZR&LV4c@@Ha%r~Q9^HmTua$8gv4mLwEca+S0y51^KQk_5+mWjf_Nn$Ez+=)XoXefvYq8X zRcwl|TPs^vxpWzbEF^x1%h>Fi-e1hM;l^2FRVXC3Xz04~uoZ~EsqlaIGFazdMS|6x zVIl;+5cAZxM}=griopzpVCvYe%AA_g24$|2eE0PYZ~!b7^wzn6`KqJI=@I~>!wbmG zj!#Gq-pu&)LP6(xeAerYkF8(GjwN3~y>w^*qc<7Km9rW&pdR>A!cc91ETPW8H|HgF zCBK!46QkR4M%K^-h|a>jo!4OH|&9c=Mfjf1ad z*~gk#B%56y6OUvJPY}lyv_n&y5bEJQLseHP@r}z6D$kW|_3+9;JpbN-GnVAJPC_0^ zqRR`3657|rmrHSGh>h#ubRvSj6VsfdbzEiVCgXxC!*gl`4RPBU#1M-{3SL#gyDP;1 z9r5d@N*pYhZ~uQLbFfpQ?u9#gyu&12$AhhCYs|dO78n*K_7SDTafo?_OV#Jv_(zlqz`Qqn$sTd>#6I zT-Ic6Uj1T77gOo1-}`KjB>AosPqKT!qRG4nIw~=4S&308i3|BM`8M zhX3w8Brkt8&&Hw5>9TXMS40n8qjT&V&Y^eG<6-7TH<-__cE>rp_mt^L1{(Mzon~H& z`{67;23a7Bq7g7<@ACW+TD0o=X%*$6JdDCcvXu;H$p-wOwE6He`yGCsnuBY*WBALi z?C+%R$K=^!I?xvnc%A58LIBX#H3NPD2imx^AOwGFG02_ID$st{l9?%>rP&qcwd`o;I+#rN)u=YQuH zVzkZNd-n9!zrV-^L&-J&Sv`reIC{p(JPBqkWe6w1VY+uWX*UOp!|?X=}~-5;M&{WtY3)xID>bB zdkapGXuw|;TO&O)fC>z%LEtdrKwwM@FD4JAcCU50eBH}%K;(YL(X~V)-{60%c*<{r zg)eSlSF@omTMr!s`FNI1`{~d<+={d(*lsVLKL}Z7lRA2lV|>*g$|q1noeCoCR;`tp zAKHd@9oum1Bd{-oBgBAmLnKeD1E2Q$8_CB-knwP{#c%6UzYOI>wG*4oX;2IvF|u*s zjQ-Fii}#YHkdaUszFPb12IGI>NAwe|TSG_Yo))cUv;(>0&@L10H{D;Nk$y&rAfb3b z&}wzfBYzC#(&7`U+R?l-~dauS*@%O_N;eNy(v z!qJcBzw2FR{Qsys#Iagx+_wykGcMQt_ZsJrSp4ILvg!S2@Ns|e^~ggz|KAyWeRe5~ z+S}PlIv>v7erBWFl7{5P)-taKwBRh%DwnkI@L8whBU;5JpQKU|Te|9-fVnHo?5fMI z;r0MGEtD;9Jv9%_wJWRhaO&hXHqJ=u8h&>?xAK!bkRG`X`-L`DH7v6?x|>1|sR`{E zzQDFhO0S#Jh0%X@xV#daj<2>0u1qg!l(4duU_P*>m5NRH!oL`|s-H^?Mz*kpZ@e^o z@~AMRmYcvji)1iOWxO-9Vdifq>h`8}1w4Le-@Cqc4=}kr`O5*KwSyt_nYR6Us9z5QuXkiL zi@AmvL5%VQQ-m^kwi0fUm8b{BEC{Ta6n;liFAcyH@CE4&jWdl2mWxW$Yp+h z{N}tAMoW>LmVdZ^AZ#oUAp9fHWooh49j6{ez|AYQ%}0;Egd5ZIe0G-kad`T14HqT_ ztiZmUTapC-j`bNE`a2$T1x&)i4D4GJNyuxR_GVe&jrG|bpl-;E$rL=Y*sJWMMm`sW zx>i~YL~xa)7-q!*v@*T|pv0cbOyrlJp4Dg@fnBR{gyAZGt+T3*H;=&l_JP2&s|%zM zH#E)>{@YZYinm9Zgu6){#I)c^ZU$~h9Z>v@Tx#YmmZLxf$HG>#;#!UvAK0Y}S{Udwvyl#=o~*CD$4K_0VE%KD>W# z>GO4XxPHZZnQ-*a=H(fhE{M#gwe_G#9l#5^e%#c5XjviAE^6t2oVz5d`>EZM-Zx!2 zg!l7tq24$cobuWD(NN@jOV)QC*1Q);!F*3M=H2^Wh%t@ZQ*e`R@r)gIK>t?87g~I` zTk4IdUJE8fO2{#XJhFyyZN$7iy+HPJ4O?!&h{Ym{B<5 z`?9^{@9B+5e`vUf^_LbCBS{z*6uH5a!NCaaH!OykuF*2aX37%l8gX&e;+Oc%d1*}s zVG;Etftk=LP{4WU6fyegKwj2rb({@q4U;Z^U_JJTlI$+&k-y!>TAOs+{;LXnRs*m! zlfs@l9dt>Mbe|2=vNX-Xl|a?T;i{sl&^1iOd@?4dP^Ce-mZ>#~d?XTT#~w*uQ|G3~ zYi*Xv)Jiw1ks*>z#^5Ar(8cf!Mg4HJJt`@ooVtl5Ob&rEKTZIHNhEu&z71O8Q4m(sf-fuBNy8T49#;=`@N4!$$+5qp`?Q6*c<6 zYMyb1K!q2crdqDp;S*KOqT(>qW?AchB3#k#19=&)_#FZ?FzVlK)zb@^+!nrmQK26d z^h*l&8$SE1Jj{zp1tP?n$|fha6PiD+U^GFXtohRxjZ`|>WGs#lIX}zBJ7FPGc@PrG ziyl8JF@P*38g&d^r;-#{gE8^l>LM7;sgEr)5Ia*FFanAG^W}R z=j*$G|KGxHTX=Niu4v2l+KJg|CnDmbR@YUcO|1=CCE5j}qA~`A$3&2<>WH`rUUAr* zrNLMgyq$;KYB(=Q(C|C@>bw^7=|J2HNra6I>)(xkPisjoR2?Qt z?XwI`Q~K;;$2r?n-9!$_OV$VKjC{^5XV9ZB3Lp?*7nT5piv>yt2`Ef4I|m0$sX z3i~G@!Ggw;Yn*|Esdw2^G{SxSxwkQ-@xByyi+JAf=8GEs@CNvQ|FQka@*eAp(p~C_ zBa6x2TXt6=0?UlzN*R~2XX39RZpHz@$9UU{5W}yQ8yTwNhMb|*-elzMO&tFUhlneB zSV%0g&DZqd`Cz#%1YH3lbT8oya7CJMiK!6W;+ zGrpZPKe3ggcW!NX2d;*N_o}08LQ4uuHH;#nJQL8JOp94TOfW0tz1`_>i12uI*1=c% z1yf3B4uxQU`(%@R)KAMy+@P*W&db;H;jj%PV0bqEeLWxHAE>9zgyA0`q@C#Ip||Bb zs5==$;g+P9aj7eavLTEOLL%kGN%Bq*d(3g*2VWTlv2xix@si{D=oqc$R*j>@<>bAx zMmcC+pxlD~ei!TSmLmbE-yHnv6;xt!f^`qr)9ERH2#xuy`%K+)Tk-O0SH@|EC?*%X zwjE;Ra$r<`kl_Uu_&zBwQNI4vgGbauhr34He6%^Wh_e@{{X z{ulyBUB36p>FB8d`eaQk*+Pm|lXRLdKo;%B4la~B+6v-4Ispl#1cT9YYoN#}B(z?b zJ>>L%j~Rj*?VdHSe@5Ipuq#=EZ^mjRdckVJC`><)|8qV&`|s@HUr7J^)^(adSr9Dh zQB97sZuQR3j=);DGo;-JT@^X9BdS!9)4-v@!niMs_5Ns44_O@~y2)OKt@3Bs{i9yw8JrvnK#X;?%G>li2 zIRavcN0-BHIn4W+aTn*X$1^F~boK`A-IMUzDon2*M0TC^^$|5qzhS@B8I=k6^%d7is z=rkW2kA1U-(vxoH9*RC|#hX~kOoE}x2|dr-NiVqVrw$%k@9Op(&l5*hX@0;a!EY(j z9&aYSHTW0}2kEkRmY2yWo1GN{*z+VOX*tVaD|tMhCHXArPt)=&E0Y2(oKgUPb&cY? zMRJ}cxS9Yo`q(A?6ts!)053ur9;f~Hu%dzVhiQ>vXXWX5mK1m}c%GM8*BL!pD~xR& zH;}JgYVIGl6KtOB5_!=sE%;eEAI{8GKRgW<%mak~STZEc0$+i6$H+$ZoO%biM)1d( zQ%n>~6qr@-7HQE8ACWJ^nG?BxUZDnd&pGUb{d)u3a~X^F~k^IITqm z{`F*dMOOz_FeM2HnVBUP6yu;!YJO}r4V&Pn>UD1bdaA8)FGb!Mn6-y@x`XB|NgaPt zmiRFRmPm*HTUdfGg%7XpzG_%`R0>jHeCTzxV_8zU@B$A%|1I<1NvofKbEI!PuW_QU zp%t7G`nbuFcW@i`lFHZOW>Wd{(U)*!*qcuR7n7=|H5x2o6_m(A>bMg}uK%p-9B@O| zTPDs&7N01XFCd7IefiNVu;9Ls2YLizk|?NkZImS zz2LTNKS6TyqhhlQ`3-Z1dyqW^+Ebu`&37QL zLBsb;)A0TBG&p$N4!uc6)=G?_N9dKoaMdY=-4?z$uS%J0x%6@^i^W7nsnHKtc@op; zK;G&etlbdumY0x!1isoazE+d<-3y+coR{vUD!!d-T8x}KQG6KZ$`lWv9ADv*4-X_1 zz8bbN*zbvp@GQoAdw!PVH7lt10&Y}VGuU~JXPrS_V*Zj2B^4SM9m*7x!VA1(I!AJR z=4K}sPHcSAjNbT07A@KDO)8+xdWNmRM?RAxSqzCN9Dp`|O&l;dO)41-Hj#Y;BP5{w z$!0%r=3Y(vn6;VuX?$WOeviGm-T}Sf{N8_9|BJA`;?6khFT<94E>*DR)n^lT%c7a| zIa$9K=l$N7u_<`8#NXA}YTG3gth@rK7VvV(;iZZi+V8s~E(;nJTjD?p3uB(qURXY- zHJ-n^`;57NMrq!-WYpAD_aJ#P$xL3UMUwec@u*CW!<%muJmzndGp=v5OPSPF?5AJE zl;ev0=&PkTZ5c-UJbY#W+RPPa_YgZ;+-ShVW?V3h%bF$-ls11p3h}UJVQ06e-`hJm zf8C=bR5p^pGziavO80)Z`?>)pO{{CiT)p-SOr)uQIe*;jM^5wIsrKb&no)h|X^r_M zVHZp-59|ten6N#1p^bSuKuv{5fb$ zE$d{(o#?Y7BDD~^epRJ4d)^UrUZ2spNh@}33#o#7+ex0RB)#M^sh^J7b`gd{n z?iu%v8Y!9cB@!*WEz>+BrMk;Xn32i5P{v?MJkkBmw(Fx|X=xV3LYyqnu%>yxceg6L z^cAn1SF%sKJ2W*zwk%2LoiRZ#4zrmPof1g;yq~1Wp;P$wZHz;S9iaQvX~|6S9BU3b z<#cCCbITJima%`qeWHlma7vT7VbN5+YR*joS3>RxlFxSufO2ZZPOM%5_LIan@c3+h z@2?kpNfr>%tX?p~rM1f3lsyck5nU*ETvH8llLDv%fUcdyWJ0c?)^VL2sHT5r<|Ynd zUp2mG*wPWZC&PTweC8z~@}BUu#a1ArR2(Z0URBMDVih0WleC#*hC|+Js)@ZYCCfMQ zMG9)bNJIcxJ`B;+_C!iq5f#ip7W2eQ$fx|~%WG5-_ zR>PnNn%3T~G6+#)hZ!oTN_a1=i6-BolLFu7s^Iv^(D^-8zg+{0LY3&dXC2djiCaao z>DB5N7`ouY3gD>=Jhg${`4|}#?{SzzmN-6{&c`pt_iQ0o;nG-n!GwK$;l1uJT14F= z6b&+NrtRby)UtLmi0?OQo9ETy@Dm;A=Gnlt(uW~Fzp*|>*+P&y(=k+Vf%PX|#tLBv z7IMTFKm0NRj1ST)#4x4Fv>43$ zSu#5>BIvRY*|;Ni(-X9BWBC#TpQc$dDatZO<6@{V3Tv)+GvNm9q_Z>F8y3a1Y4XEr za<7%#N!Ej=CU307bZj*x=TRNld+>n1Gc$&|?vwk-dmyRLp@ER*=@DO{&n=bElbD81Fd(#(R zUW_A`6&c;-dJ7mtEOr-Acfh-6?8&06fL0KN@V1Q9IpscSV8CT-vQ>K+fs3#U}BheXa|IC%KJ(2d>FcG*Xxw&6(l>ISv=@ z(=W2kG+GkhYQ}(;Tc(^XXF#S_Tg}v4EoIds5Vr=NbuDri8qhS>kR>WCjditwO{gQE zO|opxSr5x;vlF~$5y>6yxEdn7dem-QB%t9v|`Uvue5#YARk<3z1Nf zxUw6C4)BU`1k2AHKx7Ta{D+S|w^R=0WQx66rt6mIxBqQh1gV8p`S)FEFA+G*se2G~ z6_-Bw;z*gLmoarOANn0I^e!+ITg7X8Anp|7B6r$&yE} zl5DwqUwQ;^>Kzk}TlA4#@vOr`OM8iaFr-{^L%P|PxHjl(V&RkHH=KfR07tfZ_7JrmZ8UT=V%+} zZnzg~epD}p)0$qVCvmtmTJ+2sVUE{?G3?jk`p)%utex_UxX5Z;dywS1ot_)FvJW8m7@D{&1 z_joW`X(7?vV-Nyz&yfk_k)b^Q)Cy0wkQc*zGRX#Z`JM2sv#^*}hI&R$ssN#RGh5$1 z*$W~I-HTU?*#f}!s*ml?^ksU`D82Mk>IBM0d*U*r`SBeKor459rx^W+5=EQ6Si$Fi zV%ZAtk2L4WFU=bqpdE4hq(EYGif{v?X>j7x-d-RN?eTXL6W1D0l~?AExPx9jV(QaT zakaE>UY#~8Os?df|3{1CeoH{Sz~{5&aYL0@aY6h&L$zSB7|!p+O4jl@r#?#roJ}Qj z{hN-Wp&rgTp9NBkBfG3ZxeO1?0^0S7Be^%`GXQ&psrBTXkZl+RvrK> z7IK;++`tx>F&C{>L9DU$DhOP)W*G&RI=Z;($wg=$vciY?*m*TvupHV9T>bRZ5+@~k zTG0XuWQ@wIOqN6OBcd@yH=^fP>9HfiU zoN$cC^z6}>iK6yylBs%IE2`Qqqo8Ba)e-Q|73gg5TPw`kt`JmqwrqNg7bNZRt!Tys z%PMu8g)7==d_g-UV$-mH#~Bow1Yg5^@D5NsN5<4Wr$Rc^Em)3OKuCOrLtZWw zxEbe4TOI}QF5Y*RSxwaM?V?TLGHA7vf5poaygO^b0J}^X`)Ec`U9EYdX%B-xJg?~n zt^cjVbMo0nXyNeKqTTLJmag_QZ$YwFjv}~VIP;KUorg{lb+?=w+$EoXhu4~AZV5vI zeoR3@aMHx5`LLao^L`)xRZK9OUic110Mn$K@Fs|+S*itI_=WZNuRR5(*<_gZv!_mod8v=n{G@s7RZ_LI z@8Oj5VD_oVD$h#zumsGvej+2F82=(4*&dgxO&=#Cg7Xf zUmtwc!XKyf7wC9Yks5D~zUpP!$;y5@$!wWt%09C<@ZJ%7fiJUvNkvZtJPsKLm8-03 zR=g_C9rp4P<14UdAb=y6_Ps0eF>Yn5G3i&4i!KmNv-D}U9@>ww&6=PQlc`rY| z3<}Uw^|prmamy@_J|1{Xpajx5gt$lC!6|P!b>zT;2yQ)>-KakG!d+sKSKZ|mpLt6> zaiIe#p1Q(H@S_8NEFagASgUuE(_wL(4ofvicUA-3;C6QS!_$REeB2*o{h!{xw8nv- z#wScz8*uaiTO(kUhBjcti3Bu)1v-H$eEqX$OZx#Ti$Mn60qi>|#@QG}pX#Hg|JsZ` z`JM*IkOBI^XPx(Ez3!9h`K{pMbJ_>_TpRk^w}ZW3DIH9IRl_e`x&4T4pxbVOEv1W; zVO=CxF-au<%@;8S!QOrJ)7w|isrEqJwfDMK3IwN+0$P@^c?ZhQ*#l! zl1CX&ii$ZR&Ydjw4P6CsZRvFlp(n&Y3}+I%t3`ug7QSd}@IxtrL#Z3s@ zkFgo0FENRKY~E{<;iSlRXb2th7=`HpeGQ!O7;xgOK|mVkQrUuAHH;ok-OB|7;DGP{ zXYWtg+_;T}QTVU4{pluTJferQXgz-O$g&jcjkah>?zxtqNe|haVTNSW-Qpjcd?+EdQfS&W2j(tMITjdK4|GxGvygo0l zp3U5UNA#SKE}(St0SN2{p(bvni&Td0kqcOmocdHt|0qi2ZBFDy}|)eBPR}vp+0>I zZ4PYLDE4f&2$m6SWfpK8>;ku_EHw2T&=h`uD?!MvQf1cu%x6+*6hAy5)cUM{??j>e z`Q5wMy%+eptHVTAUIH(fCEC~~O>K{lnuq=TD<=KOie9~b_w3cnw?PF+B?>^E=Pn&0 zyC)xN0LD{AY(XqCOks*@<&$^Km@uFa7A(ua07326S)$wW&rcrx)Z8>ch1!NZqj3&@ zY_|@nZu75Sy-nyjK!uuzJfnFIY&Q?7p61`DwEjNa_{6TmuDJz{Y~7yNJAd^XPE`9tajf12YXQ1h|a^Cc8L1e)aO@lg9}|Apk>oh-?EB zRm8?cWO$h3&8yc>pS?_&77{YZ9wOg=%rtNj;5HtZ>|>tS|DD1)um3yDHn0EN;u!#T8RqqWdr0u= z?+Mcfpn?Qod1n6+*y%n?b(??w>hWKjn+K>+^N?pW&w=gcA=PdE{mV22I9v#S1)ggl zAq&`O@N~}%Nt_+gnc>cgz>M(EhUM(>vR;%^uHmGbfT%92N-76Q&}>k>30(ej;*|>> z!@te@@U6%enx5Hzr!J;3gz8~gX?4K5AF2fM(rSU_J5&qgCD!sjT*>>yI`}#os)pyL z)r5;-s3Ocvt4Azkp_)W?B89|%5)>qp$WN~g=Sr+P1W2n7SAbAmn3+nk*Z&trjj8L-p|7#4(GGS8%La+V;p!P#E@(_O%U9+Vzg_=qEgq zo-rV9=kscemH_HtQsAGC7OWt1J6iB|yB$-8+vYBmdaw`bxDhbmSb(X zcs9{C%BYS#n(U02uP4jeM@^ZYMot0kqo-1K7>Geh)=5T1?y76i5wbWLEczidm~Dlt zIysI~C<>4y`xvdqni`6KF7VCDB;ND8bDDoXt`|LUq^%vRmYJ1c)G`X_U5PwRnk+&S z#sS?~)D^)$e!i2y#tl6CNH`XdG2Jl|}b74#9nQ5b>a8F(^;i7hNB4v)RJKV8LNI!x76Twfp*- zf(pDltWZRtNm$E4CTOiP+=N)k`~;9HVSMOj;&!zUJn+(CxHvF>L{;GF|N8)62=0t=M?k8C zZ%otX)eO4qE8%h(=6R!7RKj>m1YbGVACKg@?6dtrV{hP-Fj4m7xe2prze!#tAPOIo z^p}nD#waU?n9946-HpIB-FIedBM^bbTj=45LO&4+Nk8GaWspj+8{75AxlOkWxJE(a zEnl6Fncmxf`9`&#FtCKpVLmAyCWF1FM=wssICj!+Ct+TtMg&kDXd<;}+m&5fO8`TP zPWHtsaNAEMcq5UCt|C>egytJ48c{9m^$zPM2TP9jQ%m7(FHTzGt8Zl0 zX!ROcG;o+n8cJ-a#`iY0Mjn0q3F79J0Q@&4HYC*G@>si&y@_%(y8ZNAkVp`Rl(x#{RLsSa1}*La+y$wdQ*T7F!A9 zeSo=WU@-AL%4mvgE}MCt`cwP6+%a~1@~D~7kLuH8;p@v}0jC>nCrJvgk(1rYvi7tM z=NEX05vLr-TefVGLmx}A41P2u&Gb6!v3iMF*`G-{Vtf`AkQ58p=%MiMrb!k!6>S`U znxa*pF@M#5nn0at)Yr(R9`E-Owr7ZQ-WIiQiP zZTFBS)TdOPOO_WhhaA?ZXXBk?W*C{+l9~HEW}wRio*^FeMh>gt;(k@M zW1-oTVk~wmu7Br#M8PDLQCSYf?(wq0i*kVPd675!g7%06&;vB!r@=%Kj_Q!%31JdT zO^@q6olAPjkI#B)u1m$NX}Uyaf)P|pt)ByT{RC?9O!(%XL+zf6QgK2=ln|1C-Ge0O z#S11hDu^*JsVOyw><3;)_U8;P{*9OfQe-eHEf+8C_$D9i+VsJ*aaZuAK*+u?NYl4} zXVAnVkdd+)Yj6eVzdz`MYzzTlE?2VHqI{`Gm0X#f!oT!Q2EiF5x~&*F61%pP?fb5d zI>9IuKXqnCED0mbL@3IHKg5K8z(B^6!ygWaIbQnr!_ZW4sgN?$NGO`RSUj6fi{Ti< zV+X1iZCP;jglWgZg-txD48@NBpi~NtAwSW%)_K3~#tBb3Dyc&X@T$LZk zY$FL4mFyoyR!qi2_U|Rc?j01_75lGTPKH?t9;H`fhU=_gGj2R%lNK6A%8y3l!I;5c zXLWu7&pJcukc~d}f@NnpM}bZCWmU*u|C_zTEiP_vWzu6FDn}LUW*yAWZvP)$TUSEA zy`BvifRp~H#*B`*ZOLnY$e|7i`+hcFbZJ88G1v&tbzVWCTvQJrfBK$_6nRnb%@aOQAHId5Qa;dlh3@A!ul^x_GI8XL+{bt`h3DcR z8o6)(`{iR@6S*)3X6BnmkN=9dN?9f+tdalp)tkS{!azL} zsV9HS6jF*zY8vV(gS;$=XRxy#8gOao2+}J;^U-m~k^3=HC|NXA7W^w|j@5`B?mx3s zI(>Yj{NmAT(QAf(wK)>6UqAnEJ`UWelIA^sC&y^AphWsU`+HuEOSbDI=At@df(-=) z6M#iEXG;i58Nx7dFImx_TN}h$$Et+ix8aO%59M3EU}IbB!f&3ueg8tS>YJioP76_- z7ha5KOf)if8P|hqJRQ%N#AY2L6+D0P=~_sDW00a0OBJPQ^4Hv05hMe={wE zFxaz~kDfpK|DL?zEG8kKCY02(a&{XjP%Y;Rc=aB}1)`xkHT-1MFcdYs$g7K@LK=wX zEiwX!KT#6|c$}Bz9eGoXiV8*fqGSSagxRbnCM@=N=ipRmNT|ac3@>BWH*E1u}tFq`$+}8v)a#y+T`E;^6>!80Lv2N%cs4J98!LYU<+$Z zXHtxSw;5xGgo;Tk8fV~y=)7mb(!P8Z!Y`d)MhLgssS za_}{Oe*_W61#)m+43`rtWU0mb6DD03@Z*Q9zkhJ_kml7)l4U$^-^dt$6d2hVY!zM> zJOf!2!}MSiW}Km6m5*m^vq8@L)ufS_B8b%_1=F6(!*|A$lAZOItjPu@P6?hv0e zodh$G9*ygtM7an4@g~J&3&!*$(qM-Dr1cDZC(Pr$Y%!gi6c`DTLts=s^tRQO6=6N| zprHEhJo89L*=mr`1U`I#IPC!sMSis9n64R+|J`>F%?h9c-^lhH+F6TvcIj+m9vs@TQrnnrzqFiTk|7T@98#=RYP%dXMhk1IKL8{`6sbob(hZXDe zjO+++v4|FtMmir;drS(I)A^)W6dj93tYugL9^i!BGxN^#*>GZ_z&#_vw*4S4^AGmk zn#W?S3cya#^B2~mUmYOZXXBGGuJ&_(qogKD93vl5F^EMc)wo83X7l9a;|cR;KTy@h zcrtl3nb4{r33tkSnKMF6&Xb_q~kC=?zoAH?ASlyh7{`f5DZH$-G3E5gpJgZu`YSBx^I@-gXo*Ih%SyT!H(~3O{3Oeg{ruyX{`})GwX1I$fO1~} zCY``*WdtRIwm2ao{+5`ZNL@*P!}^ztUt4g9%OEy;n9H_L`BLjPF_3WUT#XN7PxHa~ zct&>0Z{NRt{p96OxQT}$fC6uqH8_V9!@Ugtg5Hv65O|Z=cptxd`R>`v_reO&$8yi4 zv4u@ju+@HCpeq#EWWdBr8h!WV^@%X8{g54SYXzF6RKe5nY-pDNyUTNbFt;6IiJx&T z&gSJpm>40NIhc4sGBAv}Tp*P|N1wg?OU7|N;?2&o9PPE-8o*XL*d&4OL<+un^6vec zmzgMdj0N8@OyOBfh@*|R3#J>?f)R_ML8%w7AsPYi>>X7Ykgmk?j%5cz9~t%>jSGhm zB`ySpm)h4J7*h!cg2kqPoRy1mHXh^?M$PdIjy>RvFk6fV7ke_H7-p=}A_osH=sXju zGcch6?meoSF;cu^1+B?x_5QSC+qv_s9O390d}dSzIp`gtcrIM$yo93*RwbIRih6<5 z)u~^!Z8cNO(Syb1(>=0ZTHh;7|#VRoQ%yGZ?#q0@a|5>Ya}Uk1{60 z1|SqTzc75@>z$Oie0O&!1oT4Iwh`^R}ftGvP~Tfk9{w8`d! z-xo)ssID$(5M(nv4z>$l|g!~Cxsyu_y$RvENo1`kUGdY zSw`7EnH2daE5vBU29zNOvWSzH(ZG~IN(z%IS)p=r39AvK>U7Cu!Qi}Le6={wIc+Db zu?g17XvfHZJ|41WkX0cU=M-gSfIBVVbe7wnLDnSq4ZLlUS zTVCie4hHzxC`w#eAs1EPw92P6W5@vyoL_v*VR)GYyGG^*n=>mw5oAT@RSCzS!wdxZ zDa;}^w*Q>w7X{OA{+UeydDj0Kat!0+V%1Z3l-;dRE#A~;h2wrofVC;E0}Z> zZVn%yiEcueg&Gk%Nb)y)b#QH5)A^p5yL)n)x`r*_9oz6a6_VTLI`{}-;LjAT&`iTp z!ngtKm3#@ZT7}2vv`X^8)Vb86B^4e^C$lW3vJfsoKXB>YfuF7#2wJ5O;=<|0t4w+q z0QvcUlob<(e54q*&^z&6nUO1q06B1Lx71JnQ!*BvxUS^XC05xV_}-1%h+Uc}!g+dY zVROp(^uiiuJ(65iw8qljwc@y}(-)|qT_5;(;n4E|3J-l8i_pkxB}+1N7(um-#z*12 zY??}RIXmpxqvl;P@0ll8q_Ah&Wtv9*Ss}H5AF<}5eRM6h}kM@wuiqbTu{H-eMEW5X6c;2^nggL9+cQteirZYC2Ac+E$D znLfJfiIbQV;~p3g7Jp<)SXtNTtAHo+a=WFql+$8yRWQ|&SB-kiY#6LkDm#0i3ttHj zGFG#tLP~-$C9q}#Gzr$nHYj7Q6PceF<@r%s(5@McpeZc+AIkTwVP@3 z7x$U6mS{gJakK)9czARd!oCy87kri_tn%&Gd5ejpOJ<0T&?R!>QbCy(wstic3QW934a`)X#j^kA_{s0!(7D8XJ7V*2QlzlDjLFrLb{H%Q)yCK~Bm za4*IeObh3T8Nsq7(=5=*Muvrd+CA#nLqp~jNUTeE2%Ed>3#VD8YB@EcN>&&KQ?wSd z5#1wt9<*_uPtX|58yMuiB^6AX8AwpHe@c5<-OFC7YXd~@ zayGeU*v!z%3(nMdSUSdksaX{`RZa_TPA5%_l~1%)o!&a()CSeov!#Jqp=WI?QBFkzbN3Cdm$CFY@I#gl`M={AB*`1d(#Z{c0cy&E$B0^;yG zO1?0w;~7|BTcD&n=r?|*dnArMaI=EPC7N+yH;o5vunXbCE_Wh--nuM4;yfc+#w&AH z=NKs>*X0~Z50k$YM?%GCh}OYS80 zJoUiJIxy~=;K3C?EmtS|GbL>F+U%)}pPv>)2Ej3^P#}C~rX!3gv*(d|`hXbc4U^&g zT?zl32yJrAZI0J}mrV+r_&$f6J|z#RocmJqphF_A{1A%6Q6X_1@K&bR47!=bo#YrC z4;WGN1x(TL!fT-l?x*zL3GXHCktrY#@{BE%SB2I+79)pj!Sal%$weJ!n?^zzx0xS!<1G(2m!@Jks+Y|Ps9N* zZ7K3CMu$FvX1k6sIwSKTx1#jo{vT4{c{x>Zskc79TwW0kU9OmW(&fV>H%#7r zDJQ*EI^e*6>Wr;R?mr@?1Wp2>QE;!9nyvYZKRTkCukTZ8XxDBpJJ17hN3K`n9&g!F z&-CDSJ6arhSI$JW(QcNnK3=Ubt;NK4lwV)Rw{kSL8)fbF;!B*mB0lW~leId>K@RLT&AXfv^`?;Xpgs1VPh6)nrtx~RZb#yx7$U2h0Z zf_Nl!n^ENUC?EKAe>|BE_AxZ<$y-$)Cs;s#o&#=fU6;P#E&c9Xp~rn{xF5y?Uwhtr zj-H#l#okQMmJ1xNh{VkdT}9+Z3msfSsHm~&1)e7JqGDL{Xso9|d0o^n56 zYgw00zzU)!A*l?YU;f1}vcV5)U9s@;-`?Yue-qw>i;HWzu^7J@cViyL1{?1>72b<~ zhZ`H~!D)w_KZ$S$8ydfX3>@@BmT;pLuVXh~Y5o3BOm1Tcl|OwSy-VroR&-dpNC=`4sW(QBZs@fURkb}rVF#H8c@$fU(!X>TXXU9|rWh?*c;_P?>eguo&gb$>IhN zZqr62?idw21~KQgSKtrqC?8F-7-YL0sG&&+Z&(HnPCfF`A?h3X%Gf35sDYv|p)z4i?h! z?JQe6phjIE-HW&Z`%k16d%iedotwM#zRm00=bSUoZKVaA2GH^i=Xz}CKtpcT#g?VYuxh?A4cdg1&Ty_PIQEqW|szD%uF~-(3>-k4Mxxj06 ztlXZuP?kxjLNzeG>C)$d2h2QUp!Y;RsL*;DCTewJ#vV* zEMkEO-!L~o2M;YEg0)~U+UdMUhhwAH3BvJdQo^o?I!+}f>jlh+Yeg`niVC7FPH-$d zrm`lFR@Cv3K^mL-OPLLS%PVg7!yQmoL-bnT9OfT!FaRjHc3eQN=`LW{gDOC_wqNXH|AhgjslFsvDT{q8$wY(yv&ZXeP=qEX144FHz&DaEh=;!ScD z4HR#S*L&1te7Zb^)ebLGFXw88D*p>onY_0Q_S)q_Iy{j_U9wp@EIbP$?p|bR!g%(g z$d3&8@z>;>;aQ!3bC(Ktr3!>uvM4N$13g!J1n*iB!^cSi(o={3u<=uy1(o&EC$}np zva$T?WX_qMRoU=4nZbLh+M`LF;S>E#`$|$LC3{O^o^X5RvERV#Aoj;gxavPd&k3oK zUFFyO97E`TWX;$Uw*6_5&uXhO#kJ6d(GtQ9sCXGp58^9-9g{cIB{^h^Z0OxPijWK( zfVAb42VA@OtvfzCvp+8IzWf4~PDT)`y8Mjo=*+_~KAh+HSXIw%{nbye9x#=5T3+&q zBY*bM093ATf+|;YH>J*pbp>=jcM(kSDwEh5mlJqm-|s09yx6AH3fsdwrWo+H0n3$E zes|556J7Lw!NsN`*#~a6?bay6Iccv(wc!$13_#%uc~0|v%pVu}KI!$ifb&)9%9qcs zA&iDcOAMT$Mv10f?gNjkUhsn!u>^{f7QbpwmdXz9R`)W+OhDp4OB!YmB(e9>t@kU& z3cLu#3Pja)Iu9!UVp9`*!k(PXHb=vN4=%KP6$Lnd{%>Gk5pmQpDiSKP{NnY*X|qkS z6Jtb*6DV*q*on=dh=`L=N<5J86-|g;$KXD2^Qs&a-2d&A%`=>3HJ_6*5|4Aj>_svh zqCyHSBKRzU$2!rq(^x-zGEh%T-|d<-S>|js)|O;3iW;;8mwzqugy*#@lgv?-aWYzpqEaXsIv= zxNYPv=m034$-O}kSfw%^q==s-FEESIcH}~Ta6PlA|8+eRSDM#f&v->&{CbvPXR+1& zIJHC8Ge1eAma~Z6EY-(IOh!-qa)+6{Hr!^Gx1)zc6gtw{glTg6g; zTzvTF$>BeNo`mG!{(p3PW@A$ z$M4_O{CMp7yMLlj`u*|OKSy1bBzj7^LJ|lxJUX+5h-e57?2oM$i3oEzz`7* zq~>!`4_Xm+-A}|pbx?F6t*7BI9d1vZJ;u)a`TX5Bd+GOv(gu3i<~6&aDxNW7_r5BHxo{X!>&>AiMmI@N4ZEz)dg*muCnMk;WghKu^+&J&laP} zq*(yGF;naV$eo;0TrI_;3*YeCY6!Ieb;_}5lYcir{g*C zNE|Gq#QiTRZt&Bj1%cl9<5&c|eB0RUB~xiQi=yl{D%&>_U|BL}=G=1$(j_@-ybL zE@V(R9isy+hc)gJ5LHs4MB3HDe|b*eQbVHCG521Z71dvjb9Z_Va6AmXn-YF6Wju6^ za=IDAJ;2_mLc5|(T_WJmt^txTFtPACCm5XP`5Bs6(lO1mM`24p?X(;&m_#^e4?Rv0 zp69asb^)dG*)QSX!$0=>T4@$Ed*o#Y{N!Y#AOVucAX9aQ#=v*?%ua|re={jcnC1#Y zy7=rBQUs~rX@jxSP&5yO;WJL32@~~&Z87c}udc6gG+G_opc8bO`q$EtU%rCc$(t=yGwxhBk>jx2CSt}JUFZcg~7on6uuX4Ljlz& z5Pv-00(xXa;dAgd6oeu&e}F{P2os2h%As)hu)AFuY*P&6i{CN_=b+Wb_Yq;5O7`Vb#R;uLjz<^OG=7$!ms)uVNj@)xRi+dSDho*8+ZKWL7#p)f?7e}vLgh(7=1N+ox$ zDqe+>@ba&mH5_@n)oDIAnu|1MK17A_6j@vNeDn{x^NzKP;05`e5f(e?8!sT+x-uyQ z^MLn7qk@(Nzi=V#a418XxbG+X$pTN4tvw7H^QKXNI~+!Hn zMZtwEMVqh8QI-#|9x+()b573)XPJeBR!AiK6~8gqPudm_;RhF2lSLlc&#IiPQg>G-TFmva+ZB}0MC`p62V zfT>z5U}IqPjQ7NU6H`tXO?+Mt=hVPkuA&gmA_Co2e?8JU7CtZndxAwoJl{nE)o)V&DIUFd2kT6%Z?8p z&@UeKJ5Co!_iD*}ss)YskckwUmQ+)m zSOHY|f2@n($pOUd4BuLo_pnXMkS26D_d8UZwnwo;Tb)9XhHHwb(K{i7nM^Q7oQrRl ze>J!>xV(sew(DYg`f_+{qH91hD>x)ca6#4RC|H#um&BFT1sKO4%*{v}b>V;bx#$D< z)1aPJ{BW203AIwm7fDQvA!zI@hJ7UZXVc+fWMp-+oHha5aFC79wDSPpU z1;T`=U_Ct!Jk0_G8E8VHSoF5|N2f}iZWTZgVbzOi{^enFQ_oQO*~A$19#8VRrt>fY z5}%aef~##>HZxC6fDPrMTxzo~j*!l< zf*!=ncGnKKPNLJ%hCS5^$mh}xM7hr(g~8jSv10LAiNkfyOKJf9WeUmhBnvXJnMfUlNhBoL-f?n*~U?OD~ByIhuGY{(nRKkh979>bEx z(|L;FwX-?Ieq(h_@r*2AWC1~xbtYrhi+=wQ?%q$9(^+=7pWV)!)T5*B113VV@3LPQ zf`gKEs9NGSa|Vwn{2D$1bt!sse=;n6XWbZe2V9e=y#Tf!PbXux2^`9GQ13{(9WBDt za@Br~f(`iJOB7F%5oeB|L4LemR>I!@ut^ipSX+$=}6&=YSu@>M% zP{M_@Q*`5K!AA~O@TLuXTuu!3EW+}wbBNB%M~THn(9nwg=ebu zNM}mf%>m>u3rMa89LQK3EIWi+8i*-ErR_?Ce4SVMWKvAR3Zx5>rawC6R0)}5tVG1r z*Wb(J5nRgKh32-su#>PQu3<_U>q>%AC~f9KqaXU!K&syGDRvf z(6)C|GLw(60jhyCDjdv0O#{9*YJ06~+bPe+xV1f>`ZhR^8LDSx<(}in3|}Ex;RzSj z>GOh1!*Vjj`()-;Nu>IAIQ&Dn=3SKoRf`jcb7b2w-4Wnqb4^ZXf1`j(bgO@tC`Beg z2*aB=Ig13Z=^hAUN}1k5_RlD9$N@OdG&<60R-~}GgZ(h#a@I7U?WNSMgXUM=p>?JR z0%%}e_Aai$)s?i~zaLlN*?=*idkE<9XpOJ1RARlw!5wUk_b7Xt)mr0iPvPEp2u!!Q zc5?>e%hOq-QHu6Ze~D6+vTXqI{`*k<<+Ks5yw%+hQ z(myN)B|B<&S1yjmR@<1b!)}0?fq&9+@9m`KRGrN^#R9jqS_=6hb|z+$&pAZf(COH6 zR_CMQby1DVYU&}2d#KdW_HFBY{J?bMkU}VWK~%^7{NAaNX_)-;tlQ z%uVYvL%5mN0LT@>%{}y!?K^$kIwKn`J4tco)qr8PwO};ED(YHns?xW;?E2U%l#@h< zlvx}G)zc(Me_TGF9(&o+WIpR4)0~MNM}xEW-=qeKuNsw3mvXXo0%?n*$L1JYi5rkU zoQ%E4Wl;^h!iVP=l=^7T;E&F9G^^E<(n;Uy)bwBx$cVG24IbuBFQhZ56d#kpc-D^e zW##niOHEpJIc(#SYk~bfyhsi36I`MKmJM#CMu_n4e}Y%@rWiyki5@!>`(e5%XFaRT z6MR(Mw8`+a6%05gxD+?;(Kt)JQSQ7(f%miV!i0sCRnGFw0SWC+1uz#p&04Woj%@hw zs>)MN)H2W@5y^Eg--6*;GK77Y2QlH7L5PnD-rhmyAvncyTxR)`BU!{{me!?i*}&1F zT~&*Ef2MW~4976$7%EA_j>hj77?{Stqtv(&>5G!{QzbSL}G&G-^ew zhd`0x+D%sLS-ML{u7;|c4>G8aKN%B3C;fy_FFoQ=@MwQuAOH2`q2ST}fl572J{Z?X znZpGgSbenOFO_vS{( zJ;&c5we{TSA82YHkTGaaZJ*mFr~U)+*KpY!Db_Ms%>fe9!V(__*aYjbhfR2C8ITpP z%ozs(Yxc_U!SY}4^Ips}7Y|VkS2eyGkgI%pNu1=Y(sRD9G}Iq;aZzuQfk{#}j`dhB ze*!!rr5!LvH$rZRyJs8<+mqfPH&Em{CjTJNJrs=V9xmk9mvy! z%cY*?<%86A^f}vfU|wNWHM>E?AOHnC9%$&lVCaF_2K3P_I=;>$oa(EURar^J4FTjo z7g86x4E1cq3thYpUi)6=s&jJFM>|vHrUoNHEF!)iUi-Z0fZvidEj8xI+N4%rCY;Z>gk*uJRf0=<1kHL{sI=+f6T=s z`my$zwcGCBe2`h_3GM0Y)tsNK$G z52Hh0bOXj`5OVRxm zmLdx!vLqdcUSw7KjQgDn1Z(sS1Anwma74jB8vTbl1|xKla1kAWkHg6Z2BMV^;?1&_ zIDSF&q+_7V)0PLJ{F$nkn|p#bbI~wo8;5S@)G%Cry-IIzZ?lr#YxXFjZ5(SxGk4W(*MK_|Y9UljFf4#?tEb|BfeCn7dCZb)ph{*x%(83zjRP{NunPzuKZ9YHHC^~MxO}_eI$Io#K z2$}XlMb2?Sq+liPz5yUE%*_jJ0Z^&@Q6FNFbeXr2*GB95N6!#JwY>3XlZ< za1f@TDK7qG1}pqYnq7czFfGq1k@|3FPE$R22PF4I-Lo=Ne_g0_5e3}BxkhYvg#SUr z?Fx?0c+OL2_vX>4biL_@u;@7yeDI1j+(x`4mEE$BajaS|I)Q^cDCxUJYv?$)Y)v&< zJ3ae@qTcEg_KpooOPsg|fx>MlZBV@r#u7pj+teCq=;9zu{X1Ur7^E_qy}NR==CIst zZa3*>JQ;;>f3$m2sW->dRPbI{AQ+rEF@@YT6aCVy_0^Ggm>7|)E^ z_x+!;f7PtWg6TF3c*RJ(T$TOldkrM&=*+VJ&Gx(e!Jh2T8K45yJ;+3}&IaL=e~3!n zH=|!OyHhiV;JETVo6-2XG-<0oevlcU3+MB7q=11aTPl$FiIhxy9KcaV_8RcFy3>#2r&> zhKW=ce70zwi_gdP;^bvHdjb(&O>oHS$*fkBe>kk6(2uN6aG!j}q9Lvsg`TS)!1X-(^JX+6pt+|+ON_h~o__ncB6cG^c@M9%c|F(pra*D)qB&zHZtu|tXe zfBwC|sRYBc<4)sV%~rfgv4AxQ%0~T1xYqloV7TUIXN4I%*nF48KcF5bW4%Cv@+!eV z&GJ2K+-&lWP??_kr;xd0-Ap6uzUS>1pPw^b5qhP3EHmccJf3tM)@FntA-5@=q6nlL z(B&RRTF>ujPiSpD*NMl++Ir5gajfTJe-b9RNRwk+##DOgv>A=zu9ncQQAX)~o+45Y zGfVKLF3gyy7>V^IwC#`1BWL_Re2c4Ta171!Nkf|rANULDb6;Y~RoE%~E1qHuA285v z(Mf?R7EgIZOyB1dpvBDnj#Md#4$g}O#WFQ!STmeXWblyT-;6#K_$TZg$LYa?f5mZh zx^NaIxyP8yCQI^tv7fzoo@6h*0ieq_SHqnJT?11_;lR#{WZ#|DNYES6I@KzqyCKe3 z)Nc=Hm)oH31dS(>#MoWsKRf8V}(8T1x_ z55Lt6W{VHsvMs^qwOhFQK<{6*5Z3(gFCoCaXM;uk6?_NTrv0*q)(rW>V?xDRY)8BB zu62VHvPs018zd6{%EmWzc^y}i-+Gm)NfU2Muc{4Ne==xLKQ7rqgtrnJ z3GLaO8dWrzsaC+U_v56rAD&Oc3<_=srJu^da>|ByCA4JW?V$F58D}*M1@tC{YsO_= z{B=@{>&aMN0f{g_J|K}K7wG)8&BPW;ZYPC6?U4^i<~vVw+uCtCrnff z@)?84PK&G%=9|3M{@Ug2`;WJ;uC8vwMeWoxHh*kM;s4U4^UQf@P zcG%~kyI0e5eat#_;e@UxTs22*d-bdwKmk&LtH(JhqMq}*(c}O_c8-YF_U>A&yZ(Vw z!`x!-ddVYNfwMH_=@-0SO{#`uZ@oBC7v+m$IL@Kge=h9{qyEM)e>6ZFzeL)vOcF#q z`e7GOH-GDi5eV*Nb5`>kj}0UcV#49ADH^CBIJWHGoN?{~QQ#nMyd@^6AD|}3zBriz z?+2NmlrllybK>)l%=!2<@aDm1G%hBrH^J$~Dt1tnAMwtvw=Cwd!oITZBxCxj=syy0 zAX&^4f3ga59%PqJmShLuj|YMM$fA5hpnP294qDAbKO@8g(|C`rt^6xiBf;DX=6PLT zmDRAJ0tx0;aK)Cv$5k=p*V1dwLRMmmY^sZy>AWP5rsA9C&spv5R7O26p{bvv{(Ixe^20cx%{jYw^0%tFFbiYI;!PNcyv(1 zn$lBxr%dn$-aO(FXj%rTw8mE5m?fn;e!IKJ=?7*iLqV>gds#r0cKI>AA2HHKI)cUA z0DJTUq-Ekmq8}7)@KG{Z4U9;MmV(#Gm$VR1NGS7;ZPT4{kQgc&xbEbq_=@^%|DJwS zfAhZbjJroXvfA5Z_)x8zpANAhA zm$o<|#R3}rOXpq?p%$zJo#1K|yd1JRHvgC2Vd5VYkZ{Y}uuRdqyh{2yfpp{D)?ow` z%Bya76L`1jWQ;79c4UNz^!6N7Z*%M0f4_U^2|00B8#a%U*=6F)@%qakYP=Nn-A7Xr@^ODhgRCkR5nJfA-$u zvi!Il8c)l3GgJH{%_0go!6^*PC9-Hn;-EbFjR6wH*7FR5&b;<75g+kb|Js_L&g0P( z1rfD_q-=XYOlQ5H3NTT+uR+G467F$^%BoVWoG{n(Tl{f6@;Te7wzFA}CmXHce`tUm+1S+%RWjjhbj}&l0{VxL_Sp^l=+#FesxC<2 zOjpT1+xH-^NfE!w@ZsCPgNV<@HC*S;@=RSF=>}skbh{6|sF@=Wex%c-x?2}#L#vMo z-U1Y7bPwP+I|A_|byPg(CP@;tW=!E*6lYEJdKeVEkx+U^{>vnx(0YXBe>*m}bV=ka zk*6kDj4*fBAdH-cImgoO=^x&sBUXLu?9WjhmwcBCxnDC&Sqv7oty@(J7(kUWWFP8bulua)p^?%X#$@ zdB+syG96%qD_+BOEQ6)Ze__%5?(^z%+3B7y4v=K2dxs3*2!UePwEXc~G>%eXHH4cF zP~9IglDy!?kkUd%hF`^Mh&&<#=}plW1hnUI1?SN`1zdqLGl0hl8zC}PoTpq_Hm8tP zY|3lAcW1v(i$ffdJsCq}FIz0<58vr`{9ae|pc}zB+-LO;48^ zTAFgXSzcLgF!ce?#O+Auk1yCK`ziZx_SwtMA55oN{>LtxIc)lLa0)3`AF9> zCJOeTQ}?@_`am(#rwrpPXW}NFD^7U-1+b5Ng9)39|6mi2ZHTF$y22z?Bmdb$X!07c zQB_?mo|c0pJ(=tjf0JVRjCw2#g@;P-tXMo@ne6M2*UyF$kP(B`V6c$gsQcnN_7Ii@MWc-AU(IT&T_`Kglt*gyq9FAw1j07K^%lThy5oG~;S?1~P9^hHcQM5dCMiZt>@f_P~U}U1P zk^HuJ+=fls6Nf6)j3SZdV8-|EKJXFFmrVy$r7j z@#t|0kqF;Pue`uAA}9lu5)ZzQQUcg(llyU-tOl;nx zf??oJe_EFK3zqv;D*9^DO8$An@UMn0|2XMez{bEk=q!EP z>m0|=B}FO?95q@=dhZ&j6lW}Kzr7tK>sjI2rKHf0>1zP@xSZMEzYg3aY!D%=A9uJg zx}*oNL#SddY-TSQ4&6@GB7&}WT|ASVbQWTre-;8_P|mM;ujsCoN&r-)85EoVOVk(( z!@b=qyC|-+F$xDlIPeVkpHIE>ynb~xV~gy(s20~e;4A~&gF>eNGF1NyOXaKg0KaM? z5L1B~2q@v*^7AoyHmg~iv`0a4XFU61=b8P=xDZ6u`yow~0@50|h>ZMkIi3t<;Lt$E ze=ek?fk!AONlt3`MnUNTmFC#TtUqUEr9)82^F*29E2JLHDaYx@p@Vp`HvTu45BwVGYoJqXT);1KQ^^ z8^2oFoF{oc|L*MO9k!Pndndy-E0_cmrUf%`+gcA^2*DZsrn~}QUMl3gnQ=MiE24Fs z=ZRZ=0T|lri)>@FuZq~aeUV{q_ld#gIoa%L*sT)%?HC@;?!i8mlG{p-6WRp+f80yN zwgMcbEj^JSL=uGWUTrlyxcgPgUP!|iI6kO<{#B~Ay4(5!hIam zihTvy5YCSB>(`--DV8*W#fuOcU$4HTi&u$>_8 z-K8CN!EGr-51j)6i47LDEhenke_bpZHlkmV_SIPmh(?N7@Mf>K8ZujxNJ9?oj7A&W zA@28m9wpK1yzQLRyPe2TH8}~~_dUHMm9+bP2Oq=$i>0~^*kspUPOA@{p2bc*j#@Sr z(JkB@t*~|d&FB!t?a{4JSO#Sd3>1@y?@Ew~O&b7LPKHBe8CZr4dXz!ye?>9(2+vT% z9Y@yp42`9WO*wkDHyn#*dvnF&bt zo7Evp@pZkm^hSei2piVLHfFJaEL)w`f+al$xG21DSDVyG;uf>jh&R;LG>?2AE(A~& z+V0c}H7++0k<~%4DY(5@e_QOXu^E5sV3Cdnqrq~r2w6*n-<>^QJp0S84a0Y=9l+JZ zJ&d_nG2w06MOqJ(We+;hSi*00P`SG?SLp4Z(*F2HO#SqMnJX(PU}i*$(vy5QJyKBl z23m=cB1YtLPe!CD*^XIdWsX(YUCHGkvz>06K)j+{SVFvcRt4V0e~g#+W^H?G|Dqfg zhM$B=h;Qd5n6oEe{|%|n8H4-t2D$d#hItye3)3E$3y7drpInWe zfp?x3*gaR-VroAH@GDgM=9btG$X$Y;Eb5w3UJcHf;_(x|e~B%Wpif=1Nsr#SO`PV{ z_%a_{KQ9LtHwdA{x&Sr+-(0N82D*y-~#3sZOV8AhSJ38ON_8|jUh zi0dX>Lr0iy2MjMrqetZSz=s=`%~P=?H76G1-|oTeeMmwOd?&yW5!d& zdQ%K&fX@mnf6966WdXVez+iciDA4kzr8fe!$RshK{c5C%sAT!Bj;1Oe1~cK(9!?C= zV4^gS8$b$2k^3AJsrbtOnaJV4;^V;~r2BX&w&&R(_G-5Ihbz`_`LI*_Vpo}T7B}Tu zl6sfVbOgkS*7!h{IVWedL--K|WD0pGIRKb88PUJNqMb z3NdXJy|zv;m`^RKHDg8ElM0{viS!18Lp60JJkjy(I0ppAvD*xHtMl zpq=iZf9RZpwiG&~Qm+lEuVQKjH^z;v21P@pacVHx1P=ZQ96>-C2R6~VXEui)7qu)){*UWMb!N34l2lMPy+v8I-YDHxtu(AaYg(Jtt*903 z`?La*c$oBL3~@F1jdtT{wy9{KK&_7vUV%qru2)igKdO@~h%+jGub8?j!I*grYOt1L0HO?7`BaSbr4m_5XPH3xR3R{!6Q4??OZ47;=yj=DO{{iab?|* zgKpE2IZ9kgPs{RR%G9vWuO5qIwfEH|VMSA}?+r`dHW5C(2}<;^s0Y<}4gfboDG}#> zH$;0a;F{=HUD`rqk)PE!1CjCcW~kCPe@Cfj+Dwt(5QbeQiQ=7YE<9Te?G9_HSlkiS z=RoE!@|>9d?UI&{lfQyD(!g$)rv5noqA$_fY?o7>FeEgZd4?_GqM3=2B6vjP7Q$q! znBFjn3*hRv188(y{j|V{L0JWV3)Dyz5^+17q*%bxuqXVU#V-rU_8#KEcB)G_f5VGJ z(alJ;3RxSD4j%jkG*BmXE)dpdNVleE=1BWBxf zTHJS>Kq?p~s)!9lJpV~xLls0p5ox`^IgGV_u8NT{9_K6}99C;m@>gtQJ5ggZAPe-) zc|-8W*^FybxEQY68~oT^1{L1uf3ef2SdT=W>K3nW_x-4fNtq8`O5TW+k$&e=3l`xF#%# zTrY;rVliVhHT1-sd=i=r#CD%^n$Ica#LtE&n-EB4ixoN1oC!DTBq)=hCnAP^Sg)5rC(rc)m!M~; zVk**mP-4O*TnGi8Yak&D z*l6%{7m=EAus}r{lvoo@|FhcYObv5EYU!wb(OnX;e6tiwujaw8E_1LNS67QON?^ICKd^fZw^P`pM zmr(tc$oyy}&Ks%zx-770mG--;)%s6?r^L6i>C)Ga;k_|@_L!ce~*zW1ZN;wq4_Hh+l$H)ucBWj}|@@zQbQ1y zKb;^{2DSC-f0C@{rj3UNr?b6Kkm#@T#d%A4&sL=K8!GT6v}7mInNFus{&#!l<+OOi z7EA1&>VQHI8s6}nm1sVh4Yn`@VY;T%l+qJ8MG=$}>6a|H)`(}#VJp({?pyR-q!KPu zPT#+I&gf9WWi&OX>4h+Q+mR>Z4>HHq&b(*VCm*p?e-!bLW$LKGiO-wDvcsN^hnBRR z^NIE0+tcaysDyR2UJ44U^%K1@uoif_?t6aL>c*_p91|Cne0)|Ej8=yi<=NS!5DIpv z%WeejfpuoE0m5|f?RECWDj_!jUD>KXg5+vz(spSbz8iq;dtd8~hx&}jkyKgIQl7Mv zDLa%af3Tl#DNVvEf&D?7>#^mUrlOTa;?Kqiq8h(-Cq2-gM*{Mip< z;|PYP_P_AqTf#{N+Zgz#Vek?!=^44S8_+Nbe|GR&u(EUIAJL$Axo8p8oZ?|iE_o=t z8A{9t@eFiQrO!C~6?N~FF}D*~HKOBA%JO14e+OPv=HfNo6njx8kR;aPC<(_dKX)qrMJKU|K=Ii}7p%qItNHBX^ ze|XmUbe`nbW2o;l~9=`GI8a(?9e`s-2+a}SgggsN69?4Bp+Ma0>eIbvK;^758 zK`PH-bS6Lf;MwG$hQ6OGw~@kSQT?_61>rc9_+f#_JvfJvzbqg+!-dBqN$~&!18P9{ zWdRXwg2Ryn3zTTKALOHVGQk3M*8|}Q>ZJP#rO_q{p6)%er?2d(mEm+6jIFZ2fAIa` zw%<2?^@1OPKAR1TkHwJvoiB0AM?FB|Pz|pi$I7ZwnE2yzvA{ie!zm{L4jpw85aYbl zC~BL0NTxWiqwga_=Hv5XaB*6GOvF)wN3oPZE}pu$7gL!X!nK@~2}i~nHjX7gcu?d8 z{rEv%0J)!dOwAPB05pmk0Jxa(e_~$5AS;3w+(^N9##3EVl@&Fn|4FFuscrh+smFOB8RY1ag^XuEG3YOr!MZrRAvWoeUlHzWg?;o z8^sbKTogq?FMgO8L~fQmNf5RHxtVX0h=Kv+X2D6qHURj7brNy_8%GWxJjn5ae&ir8 zfZSVobt45k4je^~gShy~f1+Ll-)irC4~EOr={S{s95{|4f_N|#Mg16JW&p!?Me4fC zAfvdkd>1h+!eV~BSXKZp z?v$5;7I;0xuwwZxQdr1~6Uzyp^pB#rNW=+1qeuaOixn^CMGLZAf4r)K?dB@AmCKSt z>X1EF$aV7+bJLtajg3&K!hy(dQzh(Og7raWi^@P}57jl)ff7=yQtE%KP5`QIjj)i#FA7L}pi8LDgwnJp^gI%24{ z8RoXAPAYPt3Z?UAe~T(n_X^clL1wGUX5oRTAhS(npxXp1gUl9{aXlpHq%JNNrdNkb zL$Er`ZBZRt?L&1fiZ*i;*5`0dA6wzX1WvFj9pfXVs`nu;cN&f&r6O3nLN#5nyfv=} zgiV|B*1$b|Yv8`THgLSJuMHfe2Q$-FVq?wYW?I)CXo0`sfBdgt^+vz~d@FcSK@xq} z0)2-Jq5zeyXMtfbCj}+79D4WGP$lHsc}C*HEt|p3N8R8&T;GawuHAWo;zsaTQB?@f zkKQfk_7iWI)Z*G$W_@HaY#iG*)HO_IJPD`%bOz&_Nj#Im^DhsL%v#iie+jGdSA*?# zBCnJCDwvkTfAQ%0#Hm8}BIb`b@=tqg$gZa0*#g_A0f&PRisjk7myMjK2t02Qn?3ye z9mL_fHLv)F47%{J4Gl!mJy}O`|Idnr`)=`#8eX6U>sOl|wdzn?e51o)Ao|I_bm(Td zVAH=Xz%#j8oH@$`44cZcPcS)8i?d?wC$?oPPG~(?$tNm!vhvN4&~cUXw3IFqaytF>r#mD(cw0 zq92BLe{$s0@K3?f6`JviAL6P24GJd()kmFe&jbD2*2`2im0JsCGY&*kc08fsf!I>M zEZqdrYI^H(rt8w zUfcL2oA+OJ;B^UH@dt^Ct_YYSqBNE5IgUA;-!%~R9@F!If42bSaEL&B;@3{5?ek(* zvyC$Br1J?}A5*GE0#L%_4HPx!*URE+!OhmBq)6Pv{MA_}YFf4uFsldv-dBUUJR!|L ze})wXSzb*Gf~QxB7_Bhp2tedI*`mwl$E1JoLtgO~vk0*G ziQ<7x3uJfpyB}HM<+w0opiTnXh2+oW?5dKhx351vgVVa5$*StR?Y9n?zA`VJ`YsfB zJ3=QctA^!K!;Nj307hNS)Dn30B*;TOunI(M8uqea_2boyL9j+sOfE)vUlq}Je|M7` z{_#(3nUgxP1^ms{J0#$QA*;=WYG4;-jE#UHc$-aX!8|_=vxu#h=-stgpUKt*ZqzcQ z8hDTLpHTI+`tNEK;+lu67@!_byNMkMy$fQ`PoSwm&9lO@Di?&i?5DC;mYO1jigLKHue@X45KIv5gY01?JHCN%=?qtNIMn8W6SDqPeq&ugP z@DSWgJ+_Q1YcHYU;|u~62&BP2X8Yo#j>$X>3)+V-a2NR+lb#Zh7+$$~e?OhI8)-LZ za@01?hQ%4HjfcnG3b~rrhtEqckZN;~YDv`65{lD|OA7wo0#Iy74^PHu+u5ox)1gG& zGjU&DT$p)EthbwK41StfA6XCwjTf^{!+H7ry$s@z!Bu_Vski`=r)c8mLjzEhhgFAv zb0iB#fy2PcDv^p>7=kg;f8-u|#r=s^M-<*khDx_{WZ~s`V(le>)~Td|k-r@7SEQ2s zuM&2$oIm+Et{1MpuagrNaRscv-s1z}Cy&db8fe9vr}lVijEAe`jMtg{U{)nwCg(pi zzg?t46T)B6p37erkitWp7|EYI8JWlBbvY}BxidC2BVlw1_ z1rqV6&0gXPw8OVJdzm=iFqc%6Uh=KP%z87_1n5fu{j{TA>Qr+gGMwos&No?2W?~S-qKWSM!9&y^k9 zS!(RegyqI6;w(8UJQu;aznl!=T~up15vl9>GCXIze*zx4f3|gkrS~x1DU$r$!mG-9 z#Nk!tKHk96ifU{dHf5><{?y8pT&Xg z^$JqmrRv>P!o6GuWUZ3o?}7MxxKUle1UQfY2LXUX32^9HtQqRt(<3a%g9agOLfbU+ zlz_oZpuHpPe@znjQzDuTYtq9g=T(t#`x3z#5Eg%r#NT7_*N&X$4W}$yjq7*y)%w}+}W3w>(5zdE<-oH zVjteSND}?{FovH{yPdIyR0phX%6t)WI!36qq%lCQe5Q+EQ};?v_?-<-AGK;O4KMYW-VLx`*mU&6YEB4JzvngT8Wo#)U*m{fPWniF5b_Z zXB3C~e^PC69Q!Yq?|~1~Mqtyt!&`Ov2AeazK%=3wzy=&SvC^jc-b)$4)q|8%E!)~e zYE_nVc+H}aPgan&Y6$>oT~6Ctd(;XSytdT@pVzR9KtDb2*NO)vGG{)SDg7 zh@a0-p&ofW)`Q=9RjBG7+6B%^quE=7a(;c{^Nq&`WEO++WLVBn#^;l|a0H)%s)~9! zSvdKsB?Myqo(CQAQ)C?dP~;f7UEF*Vw&_I~`SB|a3G&h=&gB7~wNK}4_&V-=Vs8rv zf3ykXj&!gw~yRibIPCJJUOtcoS zc-9j7L2fy0&n<^vIJaQGkKBGAHT3)F=JY$VH))t9k-@t$v!sdIe`$^AoiA@XudhWM z?Caov$5M-+iD?l5t(845JuDFdoRK*?FEJrN^nPvUeI^^3ULzl6VxN( zB;Z~y{52rRRXf5*U% zd!Z{iqLm!CsKkC^)+ELH66*dPcbjwnzE0~$w>j9snACDSQb$!e{r|>n!&rItBngw> zzj+COE&ObuHZbgqY!f6R#UZ@wfkKxG{4xx<=}nZtjM02A3-nA)4`<~ztwS5!VlAYL ziv3Ack!|cAGj58YhvlV3)D&WHf1H@21Dc~A8gFkgqG$BuB^3XOg#lzJ{8Ry^_It_< zX(aURgouI-pY>EcKPA!7eWOX)nuub`?3k4Dl>6q=5|_ml8PiTUv=ff(goXp1?F;}v z4ZYz*up&c$AwzJ(1tk1krHS_%bl3%YZ-1V>x5e~(grD~ar*3p}Ztr5*Y%MA`O69uS@X!f^bqXT%Xy4JW zw^{)oIv|#3|W8Yml(9-Zg z%fSOJ0T1L}H(GVvqrSPfe+`=gv!a!E2lCUJYVeVKs`j_qq@?d|cF1y*Oj>P4AZt_K zS)9z21J5;5`x76PCW5A{>AR)q3RKc$PGIrvQZ#X|V31VFH${*n%1RL`^dI3Cv%;iL zV@*}DOMElMW%VN`#dkm2_i0e0)21)itqlm@xib|(|} z7Ly;>Ys??+CD`UV?ql+^X(e4z-B|4;#Y1PkzE9$UzmEHvK?FU$)S14u8I}Fwckueo zf_*?c$YeAlMH`iY>KbtmANkqXI^2=~;#NoBQDP`DQYql+e|^}Ur$x_OPud2zJ^69n z_gYTdb^Q3`XM5Au+*Lah*Ys}aD_t|>y5RdX^P}r3C>u?r@j5<(^0PY{H^>ru5H>^O zwcQd8I;9E^eTTWJ&rN*xMG4p@V*lk`_J==YF}B^_aLBu_sr!EdH1X`GBewO zI(MnmO~6!-)_J*+J4)U&K1Q_2i@b@>d$I*O6gAxl*Iq)V?}Afy!2aED9reqD56FJR zcde7XRcK8yViSL zYF2Q%vhPXjZ`AM*CNK~A;HB{X?}x&DPujtbC@fhx&cSKMAX~B#N+c=^0SCWSo^(4A z20v&lbr8;K@EU;6Mt1iJGb27RKHI>#XoZI&GJyNxq0q;8sS~Q%g$+Ji9=OB_muSe@ zy5KThf56wCh}~6ZqQoOOBg3VS!db`RtUJCJ-Z#Yrsk8T{al!6pwU1Hu!{g~57>7Xa zw3HWH;{p|aFK8+35I&veDX0Pgs(*RWW?ynxta{`Rh20$Z;b+K1p^gCE1No ze_noHT(mp&#VbI<{BYPT$PUATY-@_q`c6s5eSKr*zH~}DKG0zg`iFN6uO!urHNplo zcWwh6+t+inF;Wm(jU;QCvUJ^DPF6APV-N-OLCF z)NHYMwOB(|3V-ikH-ggtGmOwtixE2B&ImQg{}y8QGsHAMJ|vL{)WweDLmhAJ=(w$D z-BwU@j{sdWsQF3{u(S#e@E^FXNQeNiihml|>h%}+Y;=o&7gx!>Rk=XKRV-{MqDQ;2 zliS^9T_+-({St;sd$*iViXQ&k(b}eGbGCkPg*Ce`v>XtvT-Q+=bHYWu-I2~PNHp$c z@DeTSPme8gd(bg!OLM3;GODxN9EharsjI|Uh;3=w-KHdKYxC{jwLRJY1C0d zx?_bP2P+`Qou$>7xO8uqyd%WatxEYZ^i%IN>YOmnboK zupq4)!(xYGwJ}PK#~wsXB&H|k+9H(D@CzZ~@oFSA1olQrxHj|s4)p;QRwJen_}N>E z$KC1+>kU-G9l{+>kG2CP0&X;zZGXc9=?v8doDA2F1hZNcn6?IMhXyxN_e+fSvTKT` z@!d9PzJq{XU(Zg~3*2RFBqfp1?Qp3nyszMh@5j=O|W8Z%g4GKpHtimpzNUg?|+TU>?GQDro-vM_mu;W% z%w(7H$)f!`q>Z!7?r?Ia;Ul;7qm&m)<;SmS8z%6Gc$HF6jIY&V%M-5<8lXittN1uCt400Ghi`E*e)#rR#t!(^%I3u4 z`TV;Dz&VHm@b4A?A8-yJhu;EWvy11mFIEv?-l?~FP@KIt!(}DDTmR&Z9u(H z3P_#6KtFXmuipZ#)k4|1#S%EPegA#-mts~_`GSr8>2)?=R&{n+RDU(h!u?+Vuy+r@ zK76~Zi;RsQ(L`lRuUp1-)X~|NFn$|LBEY^rWGX0>@eN zLBZ@~RR!Tt{lfQYRKRXmbuT*`l1gf5<$$D-F<> z0Q~^Kfdn|P<^_B>Qh&WcRpizZB*a70t5n>=nIM_H{j{J#uEfdIa_W=1dA(v`?&zg? zdZ7j|VZAcw)e$V!D}IwD7(?xMx?QoH`i`@^mbzN}rrKA!Dy#CzZ!14^Eg+$bm8UtNsEnGBm_z|Z z-%lh0oNtrX17B=TEBK#dWj37k@R-Q@|Pa9;p9h zOTZ=vH_j??z<*NSF2JVN?RW;Er)E>P>$ma}Zs=9TXi^Lo{Fg~&q|KghoO^Ow6TOxZ zrwb3hx3u&$#f1$Ac;))vS3U~zk=Sm1WhLjA%}RlHLw|p)ls84>ZOwh8kjsH$^ZUhe zAR||d4dD~EUvHX8M&VhX(URqxGTDei5-fkl~dk0hO?AwHVbj zFtbv1*hq}4!4%X~B(*u$1@2)wEm9T8RKX2Bz?_vH2jqM(Xku*<<34u%0}ftTP0I0@ zeRr5|Ykzk|SYvFf9l0>#+98u;t+%~`;OjVi+89aGPq1lPk;~pMRu-rJnn?og2`RMt^AdZeM1) zgMSY(wJsXttP1ypAd*e=*>)+x2gK~w2Cxrk3#oKX_H~rFD6PU|e!k)U$FBT#Oy5l>5b&cQp3G z+F?$ID7YU?(G<2VC0gqi*_J={X4x+vY=05ZC>@gb)eYJbuoKUQZ&oH>Rd_c4zAHt_ zyI&^hX=;>LJt8Vds?xPBZR%|?9iLSt8rtc(kxbr(`USHqMfqZIJj<&rDQ?spjRia! z3rlzP6_);(D=f{J@crqIv_NQV>q?-nM=f-~$9y7MBxMWQMf$?v98Wv@I6idYzJFZy z11PK7`mL&Ks?Dk_pvm|Mt=2bV{`WxOX?+YRvRUPW7%2Mt_g&?KCLSNfw2#I&E`7ej zrl;aXj2TXw`1-eiWe*)>8+IL@(Q!f?v^i%{?`bw)9#zJbOJ#O6*(_Q}+baDAJEu@% zs061(BxHj8__kk+ZGa^b@4;TKuz%6=eb#y2I!;0OG+%^m?n}ZOlSXGGYs8ttDFTdf z*%@fZorG(ESb_USZ}XFH@JYDq0-t6Qt|!C}j$JD&O+3CI7h+z!YrDsLo4eWe5nuQ; z8fV#z)1#mAq;E5x371LY6*V1p!Y6p9<9%Y6pk>2f$L5tGHOVu(fk$?YB7aFTGgV%C zWFE&nTSj2cmMGu!RR#2?CDmYFoND7ZTiLbXe z3nr$?o_0Ie4WwS>0&&uP0{Jny*fLW!c0x{-*g4yUZ5rz$eWp@xCnwg_Ms0|xG7gKK+>s!`e^nW)K1eYj;aEF;gNDkr@cql% zsO`^6}|Qry7qzpIGzn1Xh`${Bhvn^1i??<6oZq;le`Ym zfaUiv-)EtAkNQLA?0={H8k}_nf+z0AGX0c4N8Vt_1*qLvai8Lg3)?i|`uY-GsY!V# z`_M7ozTugTROE2}u0-jl@!(aoB@lGmY&_h>H(FOUIw|H{Ll*&RH;e);ZI@AeeMw~$ zDC^R2QT~0*D*jB49_UB9oIUwCe`-?9cL7ow_74I*mKCy9kbjBw^a?dp)qL%ePt^nS z2tex|LN%abw`VW5T~)r{Wlg5v)r3#z(3{VZfKq#TKy+HfN!TLd`t0SwN@j>8(}PD0 zSo_!n1v!djWQ(r7YXq-!1QY6!RoDJ)w7ND-z-kxRV7r}2*UDX;N9g7U2X~bkepl+| z2P9(l9eNye(0{m{PGdO`C~NxuaCv6?_JkF1s|q=KmSKez3+;`tcbhqui;RZHu6=N* zZ5zjT=uSzXesev9Ao!xQNO*$HDDgPjGldP`2067Bh17#_6GfF>PSof%YA8=scwRf@ z9e)wB3L2h*8XTCuYXs$}__^D}1IrJtGb| zNJ#hA7C6&~LTqi#`+zv4Z1>)VgFOdvzPAkIK@`{W>BN*D$K)DRBne)Ic$_lMWFOiS zF1{ha2hQm}d_k7NBvBB)cLFAk-cM|46O5#RoPR+LHA(=n6&1uOS*c9WbGAYc%7TY? zn%!7J^n1=0eK`?Tgb=JU5XGuXPLh(yv;jq_e@t#v?JJw|9c@!SY;_9s$v3G(6k0HB z*{>Jo6zrUpP3BsZVB%gWe6_OWG}ob`l!b->X=yLuEb(uG3Ok~JQ!0!JWZE+YtgRuL zMSrBlQ2^u5hdYYu^0#GCUH8PV7rxLgE<{><7pI&mA$fr<@WokKx#nG&5w^k#3EsvC z%?rL=u)3oLT!aXiaFb%jyq}FNBQK;-uqUHYF<6{D8jUPWct($9xCn?s-U15PFQt4R zS?$~9X+5aMbKtLMLt`oX=q`mHt=05tS$|!$FNGv-HW?z=T1HVmmMhpqji$r9H3W05 zd4i^=DSecnyRnU`=C*4f4fZOesX2s|6}ZHGKdaNpOMrJnVA9}rNgU}}Dv?PQE}5UR zMYWl}0JYW(g$h=gptRv|4*|;U+T-)_WQfaC!bJrIyH+=KHLG;iMIzi~4eNINO@BU) zM2gU-Q2@4^>4HsdccOTElR8DPuuI6-dDTot2DBE>u=1-g3u!joF9ziH3KsK(6JG|k zqZ41&(w0wrJ$*@K4Jhl<@UP=Z!bL2A+6@h%rR~zt*OycpLRpuFe<>DkicvEaIoxjO z$lKa3CH?(Lr6n)zQd920+A8UlSbr>Zq0%iREAP15vmS2CJ6Z&ndwPG=Te5##;~WGw zv-cx3>e;i|g2JlZM+jyL*boAEu%tU~QV2DBQqnmap*u;wbL4x5m`&F}hj-ny>mJ@; zg~W81!z*zOzSuP1EqWP3nO``J|5%A`L3;!`Y!eQ499g*8nv8CsMzhdm(SNFq^TX&2 zWR)F<=U+3GiKYs59q|gop$*XbZ1FeJf$i?&L%;x{^jCI+o&--D0CV___ULHtcjyUA z!WiArW28|7q5)<`uNp_l7u{~v5xT=GY&Sw@a_!M*%~utBLY~j}9E(?PJS=95@#4DU zHh%(bkGIJe5r8-iYF3<^kXM{i)`oeIr=Dh&!L~?u{&lTy;V= zS*bo1-U|MfpijvP*e)s`6>JcTYM^PsQ+qr$_NJrC-pLxRX{Ez8A1Yyq zWq`X&z`OJ1?0+JS1`2eo{;OJ6>AQnMxZeuY?elVGkG{c7y(RwQKYWGK3QRAaT;^s} zs=PXjJ~rYFXiI$x{j;X07n<y;HR6yNSgza9Os=}WJBp2D$A30UFQI|_?#NZior>~e4F*V9 ziEg5?Es@RX73s%DyMaF&dLdP(9>_}ml`JWtdw*z@Ke#7P#i&1YE9RjOE-T+<`v8w& z5xaLsjr#}p0|*mvhBqAozO{go0e5L9^;6m;P4}91G-l~EefPlgE^z;zPQAO|F7h-v zCAwH)J%1&I(h3ZVQNElk#GX50WrGHW?ndCf zWyZ7lG9^@)Q?Ohv(n^xj)&%Y(m4(k)v3THaA%Eqogk9@-Hud%zCp9DDUTQ=0a_(yg zp3&T3E49Bn;)%NrHl!xN1N@p?4!Pn1|C3yZbHoGjH>K1k|MF#kL?Obt{v6N37`4dR zmumCB0j{$%*WhaR%0bP|tOgsn zwSNvGwOSirr~f;7hwjyj-p}t|JZGEMVezpT_I_M07Uc{g&KZ&R<6sSe_oIbXF`ml* zZ8m>U=uk*{3S$JOHw)Xg3YzPhD|q_b<>_>sV5OnZaWpxM2TfVnk0#Fzq4}m@LNpai z1dbz#ARZh=Q9p{9>0($Fj2$Y?3#RFbpnvJ!dy2V&*Uhd3>f@9Q)mLL~ zoBFWZq3SBg^w!oQzF&A=iEV}sC4ZoAX6il0!Et)9KP|Q>^|_32CJcRd%^YO;0GpY* zb1C;~_G&bW3OEJPQntx*s>G`VVfHF0!d{tz>y<}bz48bthC@QDqfxNg(a3BUK!2Tv zM;?D+KD0=M^a=ecIE_=M@T*ZEVh5`N#$&S+jdxGHAm!W0lPH@j&9PTvX1%iKlVV#* ze0!=9&L#=lo?z0>@%Nv~Y41foU|UT?e+cELoi|#g6#SZpPHz{*ym^)YlyyEW{vL?G zhZ{Y8HvtYLz(D}uPy!r!SR8QQ-hc7E1?daU7KXNo<|)B%(l%3nBYPOqF0|CK+!lSNSInr$9h=4d(z7gau3;8p~wpHkhv zpqC|*puF_h6*Q&$Ii1bFJNqLIz`t7n0#y-pm;bOpYE?t+mIr$AO!(%Pk$(bO^xP4E zq(U(!e<>D^X4l3rTol)PS$X;|MLt11mh=nD`&EsATiefh-J-VMd0xM|n!T>dc~LE{ z0kj*b{A~bLHl$_?nL?FI8*iPXvU*~kukK}fQARg%mi^1GV!APK5Cv5>W~uuR*`NQ) z^4_GFoh{DUukXGit)KSh%YXX3GwO`l4EbgJt1{?+GAM8w#EY#R5!~9KGU^}#w0%#5 z&t_(GrA>+pSmj=w{tLn{FuK+q6|uyJ%tal*2CHIl7d1obp~mrojo&X9aWseH(dZxJ z#rd<37HL2XG3h#De@F25(7-%Dq@#$@pkNit`w~Tx0jpPj;AV_7?0*|i5Yh1ZmVyZV zo|vnTO177p{7^7RA33DYhyi_|oPuP?iV2&(M$yrMDq?`D)q$4@G_4vw#9FKt-S$q| zT704NRe!(x&dbpGp_ikX{CSbjy<=Ci@w%{?4MI%)&!-4~8B|8$?Dt%+W@h;t$D*!O*UoQj>ULJUu#gJ;s9ku-xd~nybinr zRu!Wszu6M?)LxPpS%3H;AeOmW`i?EzFUz5+p0c4HmIJ#omVaaw>eT+#tu7V-0tbBj zJkzLJ?=@$=g#lJa5PdQ!rgmjBs0|;iqUgdP%X zMPok}j6)0Hhksdg{i%v+d08N8VMc(B*Ye0v5s3HO!y|;6VbLRBbY~! zwhDC&a39J{;BEq6F|-T=T44gt{({YT=fmNXOU6VHiGLLAD+cZb+Z9ekhJin8#x7_9 zW9)Xn@Z+>ytyNFi^oIXczn=|@(RfzCdFdfjB;!r9nUCz$binaPsz@DkgGzV&Cxg-3E$5H*Xz%&{hPXD$5 zX%D3ZLZ^6vIqfJgPw@hCf(oV!(%LS?tpVOrJj+|^ZMdzszP4b)Y(Ybk2MV^;9!N-b zq1m3;g=L8rB-xf);3OwdMr|JgB~`vv-q=uCWq*x4s~l><7Cfd|aHiU76)-bx%nVi5 zM$O3dwkh;PZ<8X=DrabnRyiZjp@q`G9EzwMdpar&%PL~2UIsnX^6OGVWqEN66|{1# zvUI_>3eqgAl)ZjiCGBi4zOf2C5LO*zIkw7@oQLb$Jd2>7F`C&Lbu6|G)lXQB#_m;u z%zs24If;}Te(i@O)s24?r#&PO|My*9ofQkBas>0Ys&+)MY5<6n6!FSU><(P2=B`S zZ`k^!tyP9q(18BwyFUn2JP{|g$;Y@xVSmtu)AZy-g;#~Z9i+@+6PMpMw6c*-vJXAqb$ar@4;oH=n(2?MEfB5#p zw;`PIfU>w2ZB^yf+j%})r?GxoOM`NDbko4i(2biZE$wI^6$1U2ZS#wIga(~)~ss&1Z zPiyswNYC|al-Qw4`9;&JeZ5RxhHnO}>#pqG(#ng+TCTzt)6=wN;Ngx}-~2mVn6ZU0EMbR2*ie19smM5hVMv=MRp z0&dKXkg6eKtOq@*0h`7?d0Sj8L|tCI2Ljl`?M+k(DIj5Hly~59RBW}QL+w1E!)}X^ za9|jb_G~t`llt&K{1Y;k@agK8|474wwo3yV{f{BGI;&S1j+inmA3i?_iY`Eg6-|qg za2c*AeC^zoiiR6gcz?AzAgk4ZTCG%Qk>5jas4IUhK)M$}@ z1ss?jj zg%&S;5!Z*SVfAdN)G*)DEk7=D+PjFNChAga$VRCjF4Lq3L3pEUcem7for^AUt(UPc zY^7+s9DJtfxxys8JZ!Yy(jGMNHlPuzjk~gWYHN_#E#~v(VRR}t6E{p?Nw5lS`Wh$Y zxk%9pqk#9Pw0~cX_w?HI!06Cfo2C({5+^6a(te&Ngw^QQyc$mnqjPK>&W9b=rId59ThsRAG1lUrG%P?(ct;T%jNN+;;Vz|l6~?VICwORWh=uRY_4V^89} zC%U~SaPc=hD?TpdW8hxa=2$-nu3OxjTXxPH!VOV=Ytb#tH(XpH3J8Fu6vvCxP( ze8dlpmPVtWtU)_)5odDaAWGctFwz1A#G#T|LVqL%iae7p^(4UpRi{tleKGm-;VvCz zA-Gl@^paJ%EnH+}83m2p`{Q`zdoe>LulK-4ikEClZ&0{5(d=>qQ0qOfz$#ejWd+i( zr&{@_0)ygHo4Vb=wT|Yl0o0co)(CLFDgKSCg*8f{exg2|>?#Ruy4=Fn-W17|?*(XrS#a^k3A8tV&Tx?+teP|8guxLl&8cIvxob-Vy)*78&-GVz z1{2w}y0wFz60e{hf|mTCl6G)6*bZ021&do1rn`DM($1xZ{G5HbaAyXki^^3JTZ7B z7;qFO?8H0UMsYs>(u`TqS7SB&=;|ULg>odzJf7rr{W6~xZ3{lD9mD*hgny*J!z?D{ zQ5z;%tO)sK)p{j&XG9G-+;_2ou6A5P^^7eS7PUS8O-yt%@B)w94y5+N=q|V+jw0Jn zN0!*vu%JXWTj`_Jr()EkQ+pY-r?1#io$}DusFW_*psogA12kI|7W3xaiRGLdcPwyd)T^wPuGW%}GI1`0W z{@6~(<_L6yJapV}6zQ#d#jN~8xA>7MJ18m-eJo12*yk`Qz!+K#;0S@@w_&||${Ak( zgz#0ID%J(LK9I>WbLl1?!PrAlp?5-}YAU1GtY1~78yO=3)deVMfPd4p;~y#WRLZVL zuE3-kG7LwDslv!?rQ=`ed*qP_tlZEYHB$VhR&vi6xLbqPPy$`Mzp1XNwnX>TZ)_yc zMME3&V|aYDDGYUEJ^L{nY$k-Gy8o6u6rzZ(Dd0}43Ys_RwW{k4fEyEF7@M}i1jp}{ zBv{}uC@mvZ^D5_26MxWPpriE)_Y+lROT*l%>P6rq2@DrsTTnOUuDKdhJ1hv)O&18i zhrkut*IoJcbqlqlT(~>Rf`*UexE{S`sk$>a|x1QRvQv;~ztsy~3 zBzlXGcZNuUpMVy*?bMxa@^aS<=eRQJ+<%&fe9(JM5t&UxEO=Bl0&-douT2n0aX?N$=D`=zHOw5Eg@;DTAr>3j zWti;DnOHVRTtw+BivWp>X8KYZ<03<9stgP(#IUk39F8xILhLs!#eSZkr|G3t?o>YJ zsf)^Y83|C;j<-&$0AuM20h?3V31f{laLFYaWYG~Tj(?TRsuXTq)rp-&9zs0zJ%NbC z`jyki%{ozecEx-e;+qicn=OR-1Vix)U#)C0Z6F)J+Uu@Zbgg7QU+}S{xwE{8se+3= ze6_Q2R)~E3ZUYGO@4~kHvRNT>oHB~drH%o=Y#=!{3mltGyy5hw$kA8t*>pZJEkS!( zErRk~8h=JQ=>^Y?Vm$DC_UCMrJ;-W)9*oZ?X;zhSN@egK+!&Dfq)z%)U zL>pWII`Kz?kPywdDkmq8=JUyTkT1rUdNmYzJ(A}u`l6iW!;>c;2gQ7G@~+BfwNnFv z^f*WlL7avA*^o(zF$R(%Yqv~o8Bx>ZD}$#lqJLVxWeO%hRw!@EvmHs@Q9hpFLAOi* zeeT7$Mk^VUfTf7!xn~EF;_Y_3d%p4LG4?7tVQTks4a?KtbqtdBrcg%yf>ti%gz|1l zxKUQo&g`(G_UFXyw$ea5(J}wFEUIgM)Z)`Ht?V@Y(k!IF-xQJlszXXLizX%;!{4?)ii$ zBJK*v3fEg~PX^1XqOo|1`fIPOjF%{|5)QOJxb)2+ekw-!a?((rcUVxPnAlX;HagW=P=&^Q8?t+WAtQxvk zAa5mDkgRc++o;)!a)9@Blcrsp`7uLNcp60*f#I*?fk`rG^J>aQVqS7}f z$wtT)?*ibat$8cAqFGZGL%o-u<)!Mx>%9q(vZg^1><^8`V0aiMiA<H^~E<)8M z3zjJW=m6bGZ-z@?qAXE29$fVMUVj_2C=2ip4RCPUPjXy+ItzKNa+9?H!yny_hcSAF z_Dq})JPr(jZFIkL>i}}2?(c0rlCFtF|S zhO}`YLs2n2p7D7Al+;UCwcend&da*^>!cXhlkwBZcs?(NF|)}jE0ts~k^So!0=XxR z9h^ieS4{kOrTEP{(k7Is=$af;7@ba}pLF^{hs4~qM6J1->vnuQwIC{FA?_9Ur(-O* zph1Dx7U=xJ^DowB*E<-!YJWN7-#TYyrwGM9`P3ME()Al4lHt4g=nxk94$Kr#?+up_Q_MYnAes1N2zyz2b)h zLXek$B+0E&(n!?Ff9_PD7JhkS|3!QcNDIB%D5zDwo9)!SJ9V&%ynn0V5%7)6%G3!C zPQZK~w$vYqYAxDyIp52s#%l~d$>BxjR^PUdS}s6ZQDbxfSq3G%%f6&nD^FFo87S^} zl&+>m=@I;GIj&Gp&Z)1PZq#sz>0;bsUW6(gRe4o6RRKPW9ek9chN3nm3u%^$RwBe7 zx)yL_5;jk&<%)@ zR~8?mQ$%9vu`#OWe10dEJ?8nI*N*o--*+6)~x|D>B25+`R-_eL;D4&MX@(SPW zvbZ{6VfM|+9DkMaiBu3RR_3{C_S|iEEPY_cjt|UC`%StYsta;rvG5&Lh(!eR;j5hu zONz*buU58@^}ovFODkIoGVa2}e>v2a%P}W8|K*$y5H)?ElyqZAjj4k}OHw?*Vn$0y z{OMQx8;&g5e&A2p*`z$pC)wNU>1jF1{`5URdE^$f8h`I!gR{M$BLp{wq}~YAFlhQn z*?o!at>zN@*#h<&up051A?gr~eS_tf`Zee54}air3V{0?$z-E=Z!9Yh*CPucGN8sS zN=W*}s^QmYSD^oo%VF`l9HS{UP$|-cz(s0QP>*8u4Jedb8)1yzi8O(#68olmS3a4X z=7S6Suz%RZMM|$f8xcUk+9cuGFN#)YpRG`zWU&XCY(^bNx zg-kj(wYtbJilhepx1?araoE{dgPh`=WORK%`9Byer+73*Ucr)?z=$l5m2_Cs3Q7s8 zT?dOW`2C0M&wpjJhuL@Ejh%%NjUpg=SyerVw}0uxw}j4>y;z4eI<@!g4UQX+n~>>a*hF;7^ZR#4KpN!Lwae zLV&1MzN&^MAWQh*c>r8*HAGFu6k~<<_cA^bd)dO+n4>=!0I(A9=b@3o%djl|#mrow zU1lMi9qCnk*IpC6f-eiZJqmwhL#Mp2`hOaz=)8YhMD6sfr@gWo%Ii&^_Oz>vng=9} z&mD3*fVU&KdX<);XrO7xGTVj}+PD~#Bnp#(vmK0hmbfIK!H6O*9aa~PL#rmeEH8ii z0ig>9q#(e0zItq75n{w3$G~1o25>-ta9r>4tx{Ad#cT6Pv4QJE&%H2a%c(8MWPjTB zrI>Erlb9gC1ZacsvY~jyBPE9t#9XpfKO_$&5TN1_ee()lvaOecL9*nVOZ%?a^QjD| z1=KzE$C7)ZcMc9Bo#6pl{k?3ESHtlvpNtpRdl|41q=R6Fzcz-lG^_7fQL$@G@XK^i6s5abUO#3qv*aR<^1?elLDK(s-t zRw(ve*3bSo3&wd2bnA6xDbF{pTesVF3lyJsu7Gx*YX3h!WWE_^rAaNXi|^)T|78_o ziej)t_{xZVK&^CNL&dsuY=88mnrQSUqUA6;5Um{r&nhZAVU~`jaJNIWc8Pa)kItAz zXlIl0#6+1$zh=y>QJ_7DUNsR-IvW&?XD4acapM9k+gL+{+e9Ud=e?Nh5f-;kT;%K# zH;GD{!z(*z_u3>`5 zyY1`k#ya_ExYF>q>Ew5TPTGvPoNODDKc$fSZ805J9+K1a?SGpvOe_K!38oAJ-eAt~ zLCQ2^VDjN`FPknW@E#mnhW=etrM-F2hr*lI+)qz&h}pkpGOGq1LJKn)DrV{M$GdG_ z?<2cdi!N$ws_eAZQ}{d~%P?oxy{x|{HBu6|Lsux`cjyHFvbbT^dE;Z7H|Z?%CW&2a zC{$qxzcg^x8-JUtB+xz>tWIr)Qn_%NBEQ=Ps#CO2od%gjwrvhKVA8Bo%0_$UXqtK= zUo>onFqmPNjPSUePL~Ue{NUvYPksV>xTQ=Uc;k$}4QAC~umL3O+oS(RjQkrl>YudF z;=rs;53JQp^B4nE&lp>KDBZS%myDCXlL7W9M6uiy%YV03ra=e@M|ZNeTzZDPw(IkcI_F2Sm^lT1M}l=}|;#mYp@UPg~n$y3y#*}vAtdunOd z5o@k4tjJJMGHAv&sME~WR&RS=W_1MFPlBvQ8j#pn1R1%tCCS?KMEWY}XCKW)!gDe5 z@GMCu5`Wy%A`^$RQ`g>-`h9`iLpQI2J1J&oi*uu7ZI_f#-U^2Hb%0q|KlX%d!}YP| z0dPHjDkqY5+*lklkWUnsT57(E%l^Sn()Sx&_b2-2x`eKxT-F zrljD8!H`NVm>Y~qkIXR{#eRjJ=a6y&Me54R2t>+9N&MKN53~bdXSsQB=(jwV2fm7>5$-;EmN{e&G zOn+o?EST~PF#^7yjmpW;4SJ;0X_4iuUNUiXW=H>;6#39yRLN;sm5=S~h|121rL)`F z@$td^J9vnd{VD739~|-T--+S?ap&-0pQnl}a4oz;j8-Hdg2Z`Tzr*5&R83xPA@@H`a&Uv488kbJ)Lc)yHZnXLUgL(Jla9eiBOwE1(F# z&+UZi*+=o{p_nG2Sy$lxrth52fP>FDBi92xi{@c0iK}X@?Md%tKShvHGRs2CcolFP&r@{+8sV{l~=q>T9xY6dM z!&mXBqf54~luVSiwhw(HUOSpk$A9j8Y7n~F|H=B+G_#}HY+cxB{O=(C9s!`SyAyUW z@y>3e3ey!x?&p{G+Uv=TjXqJTneySe_5`6(!c5Z*vb$BWoekB7W=Pj}yF@kQF;?6< zJ_yVseuYGEjNKlVvnPnC_IOstQBaI!2oDBD2ghV_#7fw`V%A5``bAfL=VhNxgvQ zkAm2aM^7eo(SquBpv=Y;Rh<42F+zK@D_r1kf{f_z$Dy9_MZ!y$PEI93v)QW}C zg%##;_RXo_?n#b`#d1`!~-XLp<0SJh8@5!g_+t+3lG2A}b){h3^e) z*KUu!tml(4h=1rGpo15_U4U|k@R;67-$HR59rGa{m(Jxc`@eSgf+qmM&U^8)qkgTA zm#>(D=>OWauk(4Ak`~7sFhsxAjoixEoL{u^oWgLOu!ma;FwC(T;cWSC9f6&O)Pj+J z{(p?Knc{9I|Jm9>qTTMu4hU}d*TqO#xowQRL}O5XPJeezS<`&ZrQlg9tU@A6%6PIU zs%G={r3mgs`uVBbiOiBez%2Q#?si)n7?c#7l;y>8PQ=*XMIcFy?QhW+jO|5J02r~Q z|HTL&h$x+YIzVPfJsZlB(&9d1RoY3W37*>8B7!3_OwMotUtT=4K|UF{j^KXYao?Vw zblfn(UVmOD$M9g|__f=ybokyx==nOQcZE56HHO!9aO`Vm2|GC% zmbNOvaRSsViO(hp%W(D{y}HP&!Fh)j@XQ=%1=Taswlp+G^oxcH1cZ4ee6ur65(qdm z(XG!nX;c%wOsfjqEb#*P)sy{5XFsyCh1$;n#D5Pj$Ri43*J3G=`pzFo+_v3DX&Jpo zgF(5RE#4N31*4ha$P)#MTX^}#4c8Uq%W$uS{*gc4mfe7r$OOHSh@ZGMiQareeo#9MYEu9Ya_M<+rN zvp|RVz;6X`%v$c1iI5$#A@QIxZ%|W&&u~wYsmXS*7zX z65+0ESWm~*8%s^S=78&Unb)yWf6eA2oh47f7(G2%x-q2qIvQ{aQQ866Q|g30bANAH z)7^4o0Rj-&1$y^=%lbif*>|>kVY3+Nt+l;l>M-h|262{7C>*?WS};}7G+z1)Y6Y1~ zVVk#?5V!jG<2zl;@+4TP<4mT`2;gz+aLc6p1}UrhhjLP-3r5Q|Tr4pbj|>XoRDniw6wX4H+1Dcc7ZlkiylBA*NJcgLjX@upO@{ zds)tIzvgO0_G4LIO!MlZ&N`x@-elb6b$#W@08g4aSPD8 z5XIW8MIa5)XdYxuFWxR})qi*C*A5*m2z0(>K*2K_;V)}Gk|w*jv!oFWRI5>8Wz9GT z7>;WQP22G$g6+wEV^`WU@U%ew5Qh}RxCU;rNzS z(#6HpiWGGnPvSZL)ZoxqtKN+mn!cqUwjZ2T2KQzTjaUqRC*!i_q%nte`$Ll+tT=c` zC4v{<(@~212Qqf?y+f6Fbccp67TrvWVBCc`(9N>hw+O*n(srHU2TM#>DOOrxd|P5EmGJF&iL)a;WTwkI1c*so~!SiVefE07TEKh~K? z^LY5H{~U&B402U{2n&Q(anK1)9rO7gKgieLJwCFQ;ZS2ez0lr^rtS^#dh-dg)_()@nEe;>+`QN@D1)qd zm75!6ABew3)`xEkCVoGB`@oCT6PD+>K~6Rf4~$>V0>?9vqkJuhu-VW|kAOPWRK=iR z3vp8w0?a8ch&cXtV+|V8sbqu?Ycy9O;S9F+Ur*PbEz-Kqok--bhr9D-84d&fE5n4B zuxxMznBb?vl7A=T0fuOE+*L^4$}TPv_yq{56PzWMPlGIp5Iux&of{n6%a6;&qMXHD zWi-t8oNl&ypX;kL&$gX;7}K%!+k(Wj&HMd8VAr#%T+YpcD)|QAh68QGi*75aAck=TMCtFz9e=A0s?mIGSP{_e>5na(_g|9 zA~2i`nRvR)DC{6fa=qgNHqq;((Lu-{dLrLMO%?Lc4s(B8lup2od2;H$Qo3P>P|=JY z-tBsYiss;e%6lS(S-sP#H*+W%4Pexd04UP67;;eY!wWho^C8<$0-*S6L#^brx`VOX z-LOSQY&(OZ`9yN)F2^n(4o|^n%NW4ZbsUZt<-6kJB4?5~C}Sx2tvf0tAHNkXu3MEF`{UgH4LvBV;;s1oo=&Tiy^xO*tMXT;AD)vq-nHW_ z8v5YFhmZTY9oT^&Nc^_%_<~jvP)2hGbj1EYM&M@0Ya@08HVvpT;lhKxV*eb*~cHC4~^nbX!}JiEw7cUh-SvokPp&#S|zXCdFw z6Dm(JvVk6L=RUq*if+6=PL0U$*dgoIyjf!#w^9_Z(Bm5WJDv1bxFo>kK32nOX{g{7 zk0yUQrd_y~&*z1VN}y9~`AtZsRb5&2afrv4RcDH06aKIAWes?TPR4@^y6XA@nGjwN z1v4SK_M&ovr*J`IyMuCi3p!IVezpW($Dm**D|A;5B1Y`_@a_3{I4ov7RF3+dL9mqA ze4~g&=h%v)ZFYN5&PL;E$|yQ)-}i4e(s_TIi+|q?iEn&*IkG_x55PfYg2L*1DY7Cg z^7|yFxfx8E*P5}Ta}H~zzTB2acf%Sz952>fq2Vr>GczRVgvo^JC%(8^q>-3@V%Tr6 zszi2F$Sy$Tb!5ra?f(9L!%DR{Er-`9;p{4sH*{OnD{EvbEQTktBnCU-TEyvi2oHZ! z!={BQS`F7o;s}QGT3lOLR+DCqegEcpdNbSS1l&5GQ)5$@G{Cc}8>SB?d z=Gp1(+q3+V?SjQ6zR?|~O0fT?**x!OQ~1By=Ps-%>NuBAT|#))?CII<$@qWld~v%T zPcFf!sbOc#=3TKEoKqd>Gs+lpSe>N4nZPS9iVI;-^lLWRbiu}DJiL8|4tb68z{IL? zzNdm$!5H$R-jx4Lx?Uw3hJgSNo`gc-l^5pB)PQ6I%4|Ipq$QO z(<*kXd&ce_0rL5H!JVUVmtTK^2Vas>_07h$D(F$`l}|gO+zhUs)2r-plWf|Z_Zz|6 z&OP=xf9t+EH{OK@k61KYgi}bn!~Tn~+@8YQrN5BEE`gilDcmT=;=VJ@e1$GUlbjRx z_s3d_3^r#8XQ>v9MXGA#D=nn3P#b149IH0MOE-N;g>5Pj^Wyw4n_qthwP~jDE~olC?5Ical4HzA4upSSSB#sB!H5nD3Bl@FlqvCd@Ccm&Yp z|M}EA&+AuLGa*H;dxLy3VHoT|72Sqt1`L;97#LjDyX@mPFIIo%ur#N#YW2Y!3MtE} zk$$AF#^K#27m|jX+tfO;+ek8>g^iB-DQt9fur?bV9W=7h5o4aC1Ib40+h*A4s4opl ztY)yRM;Yj-?_r>=M|TL1{aLZ7H$3nJ-OIk?=o#+0fNZXHMI!7X3c!Ro1Izvxot!QL zGry^y8oer;8nZ8ESZ``fBq zJz1V%LHN?HBvT;Rf3zI^X~Fx;zO*VSf;GJtY^Q&JrdARTqGUk%qu8{os8N)N z*RI-06HiEm-h5dFgVy94P79N!mjT;%cBLpTY){G~xAgBEt1vCcGIUG-&RvywKw`HD zp^*|v%IE`Zaoa5hpJ_W{f4IhYC#+Z6AEIa8ZPYXEPov&>w@L4`KMZ%Kecn}i=-sd$ zYJU=^YZ8AHLxbq8xYbQ6rxe*c&GV#*1;YyXmf~hf&$x{T&f2Mht(9wTR%_T%Fo+hL zicQ8Xz1b1Fgdqs&lN4dkL$X~9K`zGbHw!;4^p5wFg^z>1v~D%>wvV%X#y49%NtVf$<5> z1L{flrObxamV>ry&)0eIpEM89+wS*00ajWETF#oU^WY1g2V%IsP6gW58cRXjRp;vz z`0RgEK=?F%odKk+&!7yooH<|TL1WGaA63z(Uw4o6ODcEO@fUet<#4U1R9f5WTD`Tg zA@ey6(u}rmo)ESEaS)FMoMv9W_D8!w6Y@25U#mr9$E}EpG91Rg74FwCEWv#&5$v-&l&q=Q9($hTqKUtoH@Qx~zRC4PzR4v6 z(DH||xh&Nw z_`NqJ^DUc5=X^1xjs|wNu~vw>7#)9gLr~tCKc5sCu!qLOUT^ZNpII4Bi*O#k6BZ+l z^A;JU$%%M@K(Ey^?gzV<{fn)Ddpy#*>Kw-O&B0^u)#<c%ubuzealL=bxpKA_i2S#gee}ykf(IXRl3;9*QF@qIvH_}wZRo&t2YYUzo3`G(|(<|#RFSPu_v=DdFq|9J%G-6Q;dQ! z*Kua|RrGZ6hTSxuC!2p7qwYJ~)u)s3d|nLcq=01nMs_r$2R*{&UDkh&UOgREk_6qf zLx#!u*$?%Nk&V#`3flUuigd2$jYDJ3$xiaNXH!5;h-9X|C#s8t7lA1Bm-fu)3NLkT z3kWyo9Pa59kq0phXc_@tWK95=0 z7O6DXl!k!j8@|VE#!!C%uJx#ssAH8Eovh|Pl?z}2==PM@B#f39CCENToaUEN>V@lo zlJF8lfSY?@=ff&{#e^+2I<|7aJhOUu5Xu9)y|dKf7^Tgfr4>;%fO^hi4^~$`6vkEi zBH?1f_D=Tn<2P0CHc#*XKTmWJ*wO8SdLhs`bR50{bKHPuo@35M^E;AG4X#r6J)msdxT@Tp^7B@ zmfVcx)dk$J7Eg&l;C@U2*N=>Eet7~oM7%;*;99cCycp)Q#du)GT|662AK-m$zVUl# z9*^2CCtW3_%Eu()^Js+Ef-P>Ye!JH1*ucxP_t*LrpUsaJ1Cd8o_V(`bcF%3L#b4yBzm9%}krH`kZp>)A= zxnLzx4Q*!$a>lcFH6DTy4b(+f;Zxt{jgy11?|!vFDh8{1a}-=bQ_vxQuLG7CUPk7xJ`Sy!Dr zr6oj`R3AAfLSDl8%Yj}XeqP}qC)Y;(*;900ZVaRd|;u2w%z_b+{A`tBF&Vbqa z^Oxi|5!v`|P@_xM8WYt&Z?QGqH~5n~fx?&D_WW4Ic@OR?X-8J}!}jbWS6&ULK7I)n z|BdaDA=F*7!v#RCt5y2W(84siB@Ms{Ir+@0vs)SA| z*!6mU84T_?~%7IYrVmKvvr|g1KtnO*9%h&w)L?2b0^Iq!n0!2IratFejTX=3pkXT)a-E+Db^a z{k^wr=k-y{W(_O?oH*wN+{WRa7?_45xDZ-5-$%N1UIP1+aEqzI$18v8JR{$TyzG0O zW-zOFI`w9fS0pd>D}i26Xy<|Go)87r+U(k|%&zvjY};35 z+rK8e!t}!Kw0=5vZC3Sm`{sS*ZPHe6k*@#tXp6T-TirK1x}$e> zsTa;X4~E{5$2a=>7lkW=J>e2yBs(j2w)pO*xE%79+vtQZu_syLV}sdpfjp7Dp-77ES{EwW!=GJkq&<~5D>lFC<()Nws6nuSY z`{us1jR%t=YU;t^UC&$F2Sp0 zBJA5{yhM)gOILhWGlckz`iC6f_wdlx-ye@gxUV-n@C03WvB0_y74G?J@07QGqj;;w zRNGV6u+yj~JRpB>XbZ8CqOKaf0M)hKa`2h_jqMND z8IQu6rTrnA=5eE@X@43u&*LV|)BZ5rnf`gKG|}U*CTf2YCu|ZFLxX6p=+>1~PO7qZ zj+$r6=YGoG?=8Ut9qe}dwPlAEEAU%yUKQ~7C;p@Y@xS9@{J}ZiF0o-|LzXptCoC*?7VTht-ZI z*&O2CLIh#fXZpn4*%GFa@#q}>;n8lv2l0P&sx}#2R-xK{eE7C2Ug-2=bBfWU9fYQ3 zIlFyU<=3qIo-ZE96qUSQx0h)ePRk(d-_eVXyuHuZmb z$<)Du)m`waNi|M!#{C!X%BSNA8~=CtnZaai*B$0E95{HZTn2w;ZFLyS!}?mi0el&4 zzF#~*rh=Lp=t2>B%aER!0XASGye=}Q92u;t0h@wE7Sl+KQeIxTb@wpNkbzgQoX}#O z5!U77$p-A%S~s8M*KV+)&4>-YUWtEY`-JUgrcCx8Wb?&-c6xUE>U<1lmgw|{GESzP z;37yErRZw!in$TXu&Ts4PDyYQ69CI1^d?o;Kdu2tg~w+a zNie!T52F9Rn#hOFtRaIS%2&7h`}^7S6h^9_jqdWWGcXh^z1SZO$!2dhIK0eQ9XWWR*1L%=}&D|LBn??_<74h-&&4JOR_}IYY zI~(?QtS5nS=N7KDMqZ4lq*MBs@}q^8qe|mcN5@rZ5FvD!5QLRr*io^mBDlxLLcew4 z84R5%-o)VlssY)a7URY-^@)Ernk{WQQRW;HYn9r+IdI`?k`*K#D3kKBpnq@rB@o(s#BdDL&PUMz~_tw zomo#~nafGlUt?047)7LSc~y6gTg*M`rQC7`x`ET1=ofh5F+ULeD^&#;?DfP6k) z@CQ%7g&AAIiy&=8KR5@smHaw(eYbg{`;}6p)!@7sTrfT>>TG&>cvBYX#{#PW1IQ5i zYAYV0HlI}3VRfq6%o%?vph!AcGJla;{`AAQzZ$2f;T27kB|~Zk>i3BeI%Rr$F3y;J#x(hR5fa{F*H%@CuhS z`@$|f=+MuqX+D3Q{P68Bvy!`o{c4$@{Y+w&*NFH%mSfxe>Lirah6{WndpE<$dtS0V z=$r#tBL})xh*GU5Ei{!*?xb8w}S@=Y6KJK(A|AGhgRuT zcv9Vs#Yhf5PD~Dz?)3YtFYRYqL#6w^N?{7FHUqs9oR~C0kXVfw zQ$bggK%oQEE=Tl-AAVr`(BqbiOmF2PvIHfwbrgz~#TNu@F5uVr$wn5&ugA2Tu~d5L z5c+sFw#4{l{BV5A<^0uARCGGs+;IG^mt~#|fYRgdlXROlT8V{PE~6#I3g8fM>_lOy5FL;-x=)_?YkW ze_9`}@j$mYc>nQZr{B?QHGrIi;UR3jnNh)qQLYYW3FkJvNPPI~dG0y_4a(VQTum8m zhOK`w{U#aJ|2z%~?fp3mHH@aPQ^1V=K4D(}eu-+n(3mrUFRK2NjdFFJiSogI|g5k+0JpCPtdda0oiAbao2`k#IS7>kB6xT&ANN$ zV1hgF1M%0$VmcM$M7YlAL+T03>o|N)U-Nok{BrK~@l5m;_q8zO7dN1p9szZ#sfvF= zF}^ICst{mKaY4lKzZ+}NkWM9|@hqtd31`f$uHpsyC|&V!URH}5nUpa+8_4Vj{z@Io zW;?ytZvk3~oz5+mz{Sq@-)Da*7;CaIA7-c5*?d{m8B@Y)kWTx({$cMPfPMIOSr-`- z{o}zxSTI-}tUcnx{(Ouq#99t!{qKMO$~$Q2#LBUb6i}er;=x_zJw;ydj*}vRYj>nD zLi7-#hY&r4pw-|^!G%JVgQOlNIe>CXnXod|4_;OtXguOGfl>OKpqS(UzN&^M7)x+~ zxB<(A<7o~kSe{HkNTFa3BP(!`(^EOVVj%dP5|9`IRx60NR8QvmiksI>obrE|-ILi+ zL1uk)g&<~rd{NYOewOg^w+S!a7~bRW8QW)5(I<~hfW8FidzJ~a&9=`XTTqb$G|*7u z{R?Oao)wMO!bP0%h_PDK6CN=>oiH(Cy6MwvjDZU-r&Bv{V3Q7WVwx$F?UwedoPoAB zXoZ&4ORz$ta;3=K?VR%G7%hKE+{0Cd^~AMOC!TQ}Gva&sRJ0g7P9Q$`cM>1faNY24 z9Yg8V!wgRdqb{;c=-O5Clcn3ZF0NNErcQt*HI4g_^4T{(1YU9a=aGqp~>Z?+&Y z&DA~G-rdqXS&9p0pQBl2FuSL-!xg~UR-iCsIR)P>=Qi;%X$93-TzgbN;`fHNXSCe- zm0`%)f*x%dYy1`H{EevMvH~!lC~){eGiM&9&;L4m`A*!UFrd+=FY-z|UrmRsXK(%Vn!Mjjm_W z##!MrXhVi$%;s)#X)g$2&Gk8xc?sc=nIKrfmy%k<{hOzT%T?R*x%K#yaB>KLk|yWc z%{aw2`NSehjXts4cZt<_1P5_94taW&jyhKz?C*<-1H;kXrgsu|Fd_@Z6x}b4wXCDn z$X-2Tzs0J@WlDc5S1*@Wqm1a_CC@FtHIN#yO|^|wihKQLO<`K_!Z{ua_1&5lgTmIhHkfj&Z&i-WQ6{-ZGI{OhUkh4MDui1mU- zDs##}V({S2f7rH-bGon#j^3cZdcpUl0;Z>7qE)HOSmA$~6v*mEpC{wRd0|;)c-l?2 z50TJ?W&z0P@eF?uMw1nt!2!A#3kEbmB<1g?wgzQ^CvfHqLB^}W^vF^+wI=jcS z*S52@HIubCL*Af8?I(Gg!36ueMQ0w~QNi$^E&#-Tw19e#Ae?{?&=O1<+?7W(fT>-; z0p5*~u-$(V`{%JJa!0v9;ma@17-_|sRd6hwcZdIL7s38Om^?#jLm}*m%!#=t@JL0? zZV4RD?*|ZdL(tl}5fmxey8t6(8jXh)|0jAUYIp-Yfh|u;AMtwRT3v+LC@b}lG#%?8 z1M~E6ToWa)sh1jfy}s&tR_d{fMx@^w*wcG%sY-w7IR{*?*SwCEdTcfy=`9Czd&>0x zd2=@bif6bjKpyWU?1UIn9N5MHQa#P9(2fa6DA={gt*cpu;w}aN+?{WL0PM(s+yI$>mU*7vx4<@ z9B+SVBy}4hgJQ+FNg_pyD&#>5b6k{8X7=gIa6DM>eG5U%i5ZR?vkCi$-kI=IkQ)#+ z#k$Q!(!zr{>F|NJ;29b33pC_#kX-f(fFi~4MVy}c;RWRA)h$WV0N zPhC1Dd4<=y!Rd+TQkvtA=(p?391RH)`zVuy1a}o#@P48oyl*-DemzcS7!F z{ASMl3;4kR9BerKk2izhr&#jcCk}Rdl*OCqPx!1h%lrH4~&1L zd0F@$p>BA{a(i!3i#Pr@{*1DGue$Av=u8^$_xsqFMrgK>oGs1~o_}pDp)Cr$+v;a? z_i=a534mW4ONirsEF!))mRZh+s*Ly^E8_Rk2qly zWlK$-ugtkCS=n+5{3o(ys_W!emK1-V&mt#VGV&M0maDuhhn_{^Wx4*{`|1(7{(bqh zT>svoesAs$eOgYCG3BLP&#lM?1z(vjn>Qi5dN>z7bPw-l!H077!?=g{8Xv}OdIs3&_3ZL}wy9(;I zJO9}wn3(7#=s8@wf&f9PmvG_+0o47w75c%Ol1Imh>eO!Ks$!_8lktCiUJRwYgd`~_ z9Y0`@lRv}lz~B{WAkZ7&1At(AgOf=)fH0L|DJnm4<&O~PrY^aON(PxN>1(bOp(O9cd212W|3Mc06>dSAn>^f;Xnu;8wm-*$9T1{ zATC1$!-IsW>5UKK1_yufw-t!su&0*2PCTt5IBY2>g0JM3A{!jtYYJ^3$kG(t z;OO2i9{gH2zCo%d27jGx z%Tu;ZS}lN1bNn3ng6rpevFMadho;x7f4@&`=-Vk@UoH9~$L{N^MPFYn+7t(UeYI#4 zM16S!UM*^VTUtH&ZfrD1;e95FQGOhvOguojb62)A!n%A~X7WDSz24J)vpg!RY4D{Z zaYdDO|7i8@8~1-@v8urE1*Os45r@;o0o#51H%7RdVT%udmjW7Y;+ls(d*VIkA38B{0ANTUHDvi+arr^O^ZTuefYFm_ph zHr7n90v3N+iVegEly&^ML1n8>zA|kh({c+-3d1Hq`j}Oia9S{`5g2BdOiFsV0)ui3 z)LN{$Gky}z=@%!xdtjMd|SLb84KNnn= zRm1T#L5*SDlwbOH)Tx8JGg`eV>LNs{t&>S?R$YHG1UG{Xw#T?_Ewr)z)EuZ7c02M# zP3pM1&VI*L3X^u9*X1(17*F6l9Ky)p{c&C@fKd?2; zO^t0$$|&e)cp?Wc z;kzdv=S&Gq30SK@*9tbNYFQ=Lq=Q0O;a8xZK67I&3~fTMHSl`<*7dB^a~F+B-!*@* z+xta+HUQOTKtzqkW9p5zRu%Oiw_ZcDPY>NF5-G=vA?HE|aM~t-#U#xyP!~8)@TM1q z+PmPR&^dq`A=B)3Hp~7i>-YAH+Xq2cMEXJZ(u33+Ap}p>Mp6UKwne`x>I{Q^Qw;otZ zLa&(47uP9Rjf%zKT<$(h+*q65+fl$FI+I=t#KlYPW#HFKHsfzh0KJ=kVePC~Na}Ss zF&BiGPpfkJl#Yven@uvq&SQmyZmDrOloTrD07HeuuDeBo0@Qm@L1UnhgS&sfFfiD$ z*Z5`ac`s@O;=#1m0~3UlLnLnjaCzKzG(D80wE#$i9zn$_hi@F6hjB_v{c^V#u0My!IE(}qA<=~n z))X0sjbTI>CciK+Auy`LzAJ={ud6 z1l`c&bh{myprpPpAV?4on?^ONs9q2Z2C;U;2eQTcD(K}j`?GNp0fbr{=s3C!tY-7$?6-|+UwwMr38(Ly?T7cf^&sm_FM25f))Dzw_9h}+P2 z`kvd+B=OGu)ow$t`;a@s)6k*VO!e>b5*~4n3UVEZFY4_H?K`8xx$SOzj(FcTcezGE zf4_Ku^kywudS@p@>_z#Osg6UNW`kwLDzVr0Bx6ppA;$sq1z8LN`;1NW1Dz}9`Cz<& zGbdrsqJG{-A>wtPrXI?aydOM zDn=Dw>dc!uWvTnUJKYY$E8Y~)^5SGtUSW^|&*l3?`5ZFY2sYL;Vrxy!&Es-V>_g7p zc*x`p8#p&-Aig~Hcd2dn`}_N>@16efehLZd#Wk8lgWlhZ1xSBV1cR%j;3+qQ`&a)i z_`HnY%IA2o)lX0e1<;3Y{~unINdm#n5A?05rm94VZZt*}d>Udj#C*S^c#JWOeCz7R;@xP%29>jW4t(L!}XoI49#PQ!20cWup1cXX>|Z& zeS16`OqRohOQRn?EDsLuAA20me4pe%K%awDzv#Pc)m|_7zUD*HkS@C_WB7NVMHWd=WJn<+FXq;N( zSSS4o2V;N3lL7a86Vj#GUm37l;7hQue{^wsSI#@mKA3lk3A%%QOVg57PEL=5RU!}m zST1M7NX^HgdJp#3tN0*@@xhuEhwAOGiE%%OaevK<&3aeow`_XZbWbQ+{^Y#KVKV8s zRHnNd996REW~bKjn~>7P<@}NA_M2h?E~>KEjaq+YQ-HJ2co*Kfc#-2JOVloOI0#V4 zv(p{imWbKOB&`$gOH;K+3|GdOxt4e5ZS%+Pe*{~H%4oKliZSU3f#1b|8o(%#D>yuU z6Wn_%ud+PjbDb?=*X0sKP`$Xltl@?UAFHi%9C4yjy=c#2Y(*p7brWM=q;bjQAlovV zumyi+1vZ&XJ{LnEzU>(z2fIVVH9Xjj?H}BYT*kZU46}7!IcU!-z$e)i+jqm+#H7gU zMRt&#mgNOp<^4Py0Ur$uwdQwIIBIa^`S9)ec<2oT8+KKw@lv7Vr63|En1_Br+BA_LIy?)x z`Z{s&r{mdpx||w@bc~c9Jq5I^*~n=%!%+DQd!`kdy?)-C+2QX3a$rRMg<374ppQ@SsXb|}Hy`+&)s(JG%%q33p?Q6 zUt?r6#K`b13eI)U?rtMwI9COEfCVS{;npKPI3W~zPphIZ<2{67nxZ}gOR6#(2=D;e zZomdiT|2}B*HZEADl1k3rmYvz;Q4>JUYs!5`vh*km_;C~C$szoLHnvbr7+zo;%_F{ zLM(bfW_@JA*UKv5+Alz@b>9~%SmmNGZ8$8c0g6vqdbRiYc(iEl8bGbpHK<^fuF;0W zT>~h$Ymes59eXqvweMwO)osx|6QC~v`W{3d&D-|gf@;_sxczAKClI9{&0T-WO)rpk zePTF@c9G!+okYUD3?_~_eLPCpIxOD;I6I&&$q5#gy=f%jpb$)A5&aY2~OzsmQ z8bgv77%}ByV7mziU@uWwaiAk5X1VVftr$A&cN?E&UTRP-XQ77V2e)dALCJbi*<=Fo z=Odq2lk`@|$*Ah#Khuj#%Bp_~WI}osjMS<$``!X|Mof)3`;k_3$kY~KK#0_rR-!6u zrbJLzd=XoI zY|{nz{lb6sJ574Q?>z?p&?Iyu=^liypWA`~doM4%I4W`IgXDd{|D=DE`6P#{tH)~- zzNo(813CGn4hj$F zu}Zzy*O%vzUa|Xg?R$T7bt$Cq|uxIo1p3A3u22bsotg=T( zex2URTU-h2`evNpwQ_t`N;AN&m0#b*`~dXX-}6uarHv_~D=MJ2;#pIrvyK;ORQghs zy_QN|y_ZF(2_IZ^c>l?=W3R_A$4w!vTB!xLIv`#_hkaQG@oj%OA<{bnibcX^=j;s{ zjSSlvh8w!J$;~Zj`yDv`!Pdo6g7+`F4ZV@g-Rd8y6;_rP3(OBcWbqrCcqY~ly%OZ7 zkTf!^HRAHK5rxp;07m>x=u;b1i9+g7&oa_9mKQQ3C@qXaN*b~fK$ON3393b$Y$Qz@anGC& zY-6N)pwxZ&1xKPsER53T*>o#7KE@liF`!%BO-M}*`GC)zP>D^;Zy_bh*v$yqVJyof3OlEZ^hOuPQ* zSE<2_-cbiM5D)01V*}SlcksSY80orODEY4S*#Y@?z{lmR^z1J}0W!9(9>*ecaOVpy zedNhZJEJBbbqS|6VrS*r3Uy>0v!%WcbkuBcw2+il#^ojU&Q$67BxmTYl{7_RTq_-Zqj9S?S+bdiL_1Mti;kntD7t zn-t(4|8K|hJE#vc461yvSV{X-TC2;?D@NtAkV6xmp{koEKE76Y-F&F}E7g5o``-G_ zEvVf?*^bAxrE8!sC=%=hwM&Zc(GC%k$nFr|G2Qlg$#}yvs=m#P9!CdbBMOWYaZpsC zeRzN1)%HUgdoJKAYH%I*%QTWKaMBqLOcEaM$eWbEcJ;2xXSI6d$MLrG0;Tzr`iiPT zn2CADU`|ZU4js}a+^cV*{Nhw4BFCKJE;~SK&niydZetm|=L$q;YBV{B{=M5#0?z0W zJepzJjFC}NmD#<|Z>u-p5Osft!mq!*DF%Phx8GR4%d2J;NT+Be0hY%F?#J=S=X*w8en-qz8sH-fWAvP6w^bfwXD6Pk*wl8NSG~Q7sxG7gEG!mX z;=&5^^IbC`5o|5bW~^Zq*Jh*XaQ_g@?Vp(UO?)z*t@rd6h5=upbF|^e*o}QdH&uTN zh8#q5wGwmAU9_lLT_x- zXYkD0wvR})4{&t18^MWW>)9hgY|79o^Hj(sf7C=*XKvsOB75O#7JlhyQ7~odx%)J; z*M8rEJ-lGHXtIwq(@q3}Y!hMwCpdpU_NCbq+{u?kNqcA;zw1};!FJd7j_B6i^Rh_$HAZrvFK;LXIakAiutBk4L&zbYKD*D8*3r0 z$6_0M%4=cvF+q?u%GtoOB?^D9BFRGiOnIZp-;B2t$s$Oz>y~Fxqfyu@8(u2YRdRc# znc|SG$65e~CTm37wT0vk2$*b;w(40&C~bCw74_5L<3h4$&-bAP%4nAp}gky`RdNI!0=-{c_i!Hd?|aGz4^BIiT(n(N~2XR1ey0#tG8ydwESG!rBVa zm3HcHa}US2EC>80pRJ(Y2f2!M?{$?+*1&Ic$G@a%G>U zgBH6h_@v6u6p^wsNw79ED!z(|QJ=qaLbumOst@irZ6?d7#+wvm;n>Yxh0wG)aDBRn z|KI(4WY!#{yK%*~xo)pE)|;dI?#&C5cK0~-1yUDJi>K^auwZ`(vtKVvU9xjlhPM-J zRbCH46u=g$$~`QNinV`r!ep+B$^hh^a_-+FTpB9+q1jK=@ zL|+jpGD!iM^l(S+r;p33TrL>f`TS0e%ru8nT0{Zga8J`#p=eFv_2lEAm@iJGqqEOj zl!JubZ+S&9=+SE8KD?jb`&Cx+I@#uu!-STp4mbw2HeoTz z4FFtR!GnJfCa6esfL~XommE61Rm5NeFzoaz!JbUV3DI@|YB$ck(9(8&dwqS0s=%Z? zl;tZXbq{4L7aOcWQJdEw0{dI}NbvVed0bP=BtwzUP1AmG9QwI{9mxtddt zu5x62W%Ab3jm*5%a0_RRj2Z5Z-TF|wIg(V3`O_KtIi4}?wqfh0ITUUWZuP)-8hN?7 zapxPH3Wl;2**T@2BRe*ZV9T5E!4Tf2{3(PfzJtQW3fo; z;vau(b$z}aM`kaq&)KPs!7y0n-+65R>pCtpMQ?JaeoDNj7FNnYgJF%7pRB;|cb+4R zNIA%t1w*F?k>Yln?n2gNdLq_8I*C(5#(Ai7L;Kwibi8kNylT;LPv@OgJ<id604o>~xAa*+Ty?JH(o^;tzC!9RDZ2r?m z4zpX2NIN+eiYYLHAft6k4^|ED=Ff3c(?fRgW%Bp1NYS!##dKwk;WC)TPkUl zh0hu*EopcKA1c3Tq*oWeEn&}-PfQ{k&W187tN}tdU#61jisaOi-g7#R0a$SljN5-z zh?Bfo6%%OT-p|F)K;PF>8MfGJY{52`YzT|faz%oZ5-7F-C%Fjcu607~_#6YiX~DDX zPxFG)hBj@y=5|4xW(T>oH6#!E+tZRrW2HXHq6j_e+A>mTpJtUR!^^!``fY6?2DLpx>M*#ew+i*z+oo6P7u$s||Mg zX7kjnS6_!#-*#c7REG1BUV+(wl65iF6dCB3mtMNFNG^jYgjj5T&5D5=L?~>0Pttr9 zEZ6fpwDFEHZtYCrv6AoF6@0YghGnM$BWnmg6C+rD^7SgEDQ*_rSHZqlKCu)UyAw zT%3<*XX0(+hB?wmikODm&fb4V$l*9l1)0V7fO8QR3!89*wzaGN!Li3F^FaG^AKcga zRnhDL9h=$9$>eEOPFt-U;&8-T0St<^S`NYsK$`_RLGU-RkBK$m8I3txFvvxBdYz#0 zA~rdfwMOCAtz2kNN#ZqK{EMOSNY>Tke;VFv;?!UHuZiClpjM$5n8i@9I{{CJzVjz3jzsm7!FRPdJyfAJ@q1%fr1hK5d*M|lGuSTNX4t0taWV#lX~mqS5N+@jb# z`yz|cS~*fi8uSmFF;Yd(*jM^sg*94{P@;;Qj`J(a5EDa!SRS2%a>Suir1)o#C@p8u zpR%(_c?uD}MFwM=V)1S~E!Z-c{pow}{Efd9p!0v_0wH6ds{bhLUc7$y-wYaMrbQNT8yJl`#Q_X3^UsK?9gFIkDi17^ z;P5FMpz_v1!WdeH=HRd+8dnXmEKv>E{HFmKLxae={v7x-#9n9z0RA&b0~~3VP%YJ0 zW9$p&B8!vS205F4`wujh97;?bXovLRl#QU4%viKfiUKre)E`KHH4lAtb53^}-~eKJ zMjIa%qkK78L|cb?yp^|Z{geEnY53iDDpv?wQo$9JcuBJrownYQX&w}N z_In5XAXKfF+H|a~x(#Ya+x3ri^Dv81M5c)Hfzi4eYsye2c_Bjzcq2y-+3njt_UKUo z>SvOlVIY3DOyaG77Kg$|Xsg}k;a-Q0Vm-#O17`6vxDR)ejeLx@H8vU+lVTxs6aXij z0TvnB?hm|WWBuX{xg9af3X=c8iDOhCWgUU0o94v&Iq5_7!!%j7ei$yJLX}Dv26MdK zTATxMl`8qc6+WNbvA2gg%oTd%y*XapQOmF<-4PW;)E}3Bi}7SH%bCcr7zdJ+BH6$) zRB+8<--?Ant$Rqb7Agz%NF%ROd8jxVdGo!DZITv3*I_?^iVtNrt!cx*ng+XkD4qvFE+P zsn~#6#z{}p6>Yj&x9KXm-34uTv2MGI=620>$e15!Xp(no7Uu?y!OzmaWOwKA+3+0M!=$K@lR4f$f4E$5oLfEJiMFr@}dI_rDQCVQ6G zR%Q8rX?a;Naskmnl0XR{l%jpjzRj{6tu>fC<@+(QhSTb7wtMIzUe4GE>tWMe!MDy> z=MegGS}^J)VGu1n-+bgt5e}a-Hyu;Ensz8^D)bK$ zGa)h+U;bn0J4)DXkq-)Wt!$b2B0#u5B(FV%#FteO>>^b~cGeo(Z472n6vLFLC zh2a`6im4oqS-~>cD63&%V`x;E4;IUOqWFn%!@Q^#~B$F~=5jrP%{>#SfaVHqe>iOdkMlo-)F^6o9CI z#Xk@o*#MDB5Y!=ms8v{K;E#A3>mFK+;G3{-_6m3h&b3;S!eFw23Obr3`p|_|b#gJD zOl%t{SIuxSw=^{8aLlK>am~T2^wWIDa%Id)jW~fYs7EzO$KK`dEE{ltUxj`Lb?s$? z)1>|q3mIjtj#5GQ*n&SeeZc+~4LlHkD-dz)Xzo!A1&8JMMod%VVU!%ezJ7Xaju5!& zV^yE6&v=ADj-^;}e$?Pg#RIWzoz^)Rc$4F2awf0>y9FyXQy!b(+TQ<<-O>LlA|*-0s*{Qsw@iVF^1qa5}54bFdB{DGZ_J=F0ugZI3GA3Pl7;us#?&h9=P5> zHr$Lm96iWFPDl#!U(0&&!1m{{tGhs2J}_BR<&H$|Q*SP=><=i(q!8n@fVvF^U~6d1 zVa_tI5Ev;h*rb*^0GrYsL2O)q{hhV-p@|HW^DZ;4hK+_9*l)20aOO+7fwH}bn~Hj{ z8@NyVA&h1-iXQaD(rV!6BIb`41!ej20N<=k)^F*KV!NxrF!DV3W@RF0iA6`?$@R#G zTlP@V&LF{ck7T8-eY${_RKk;i>od_MFxg{80Gcs*1gPT&lgLKYZG)A6V1J2hy=a&n zCnv+w7pM<4Fxc*BBB0{MabVSU%*o)#r@*g|!HIHGRGmRM5XklfK`ZjKAyJ4-40nNV zj99A>%p@8i9G&@@)|z~>-S7%PHLu^-9nfCKJfUOz1o7X>rAJqCU{L|u?pW4aPZSwD zytE1+gD-v|K+I>I>k{pMk?&Acv6^mJx)n-`*n&iD^hWYJ8p#dURbI`E5w4T=S8za3 zP6{mEsht7(pT-@}V_t!~=^+`r*!LKCgmRKr01e-`0kS~#-~u_V1rd_g9%X6X&|^8R z&+LKL4&9LH-JYX+4-X~*wHT5iiEo5|P!o5kCS3k7vUb5C7B1m`yd*B6B^vp}4}6Og zkrMybfxEOR4l)O=qg5>&YgW|n`;5h;w=({)1ss&O)i-57vnsNw=tpkbir>%qq&zET zsIC1}jakXw+XbtP4s8r3KE#odrUBz=IT@m9+l*i+QXTN;<9c!O?s{HWPliK!57Rv+ zlKIIq2){kcC$^=3WZsiGD@8vP3*Vc`gHn78O$Z|7Gw-`Q8$L@gJlNAD%X4D$>eHW;-C0ixx2@GjRLE z#D{2?weOmcaa~IAOm9);Fb|3o2c3=yI1*oQTrtWVV zmLHstCqp)W^v`C2DjYc`^!>zoU*S%4gB1%>hx;tYqM;tRTEUq8Z%fAWxU~4{@?93R z7Ny?HvGC67CN}wMx!7rYKXZbF+6-RwY^Z%y74>$@E)Bx`LDEab0f8C1}s6j*#;2ubSuW>#>(Iq5Nw1TP_)el@9h<7Mj zQqI>0uHw?7^fOjoe@`mHX2S#eBTgVL?H*TLc?H-1v}xK#P`7o{DA+7Q=LxM2j*@IO(&$(T*c>%pYZlz??IR3sey zM9=Sk-c>bblV(^m6^}DZY(gu&$WmxjS#QbJf~t_ac7`G(Zrd4YRsmDl;|0t#s{mCx zrseakHo@G#ax-kb7ABcN1dzUwUV$ zEG@3gieGD6C95KzOs@H0G70nKH}kA2Y*0LP5zo=N>ojOs6x_v{DcFo2P{Xq?YpaGu zKQ7_C`1pHDgbj-^;H5DT%0lOik~7Ctj+|cST3ho(K~-c!&*6xF zY>aaeE00gdtp7-kipA3E$sY_J;1t2s$YVH6?}@%apxT0e)Owv#r)JH=$*!>!=wCtT*9NTX%?5sRz@6`~WZ z>$TER%}R(?)lTm+s}a9m1nQ94jTQVYUcukO6+D}9#~5E}%=75!N?C|%5%$iIXcc_7 zd}=D6^|&FdUclP#2F@c+8t|KXXRP4R0UPHEul_I$8Xun7HBy&7!}eez2w5qAA@hBf5(@l^{&+%23j1BN7sME3n|*$Brd9g{3A||$82rvXaAe+2T$9?wbv1A zDe*)LCn^kNx?fPiTKSuQr8dH;&`N`^L4LadTaY9UA&3DfUdZla>CWXZ5bIVP@w4Fv zXHsrjMdi%D=jFRp_aPR;h$Tao%HKv5Z*nuPYZU`h$RCW#-96JZh4?aME9x!cd(y;~ z6j6qG(UM_6%)V)68sGTHCJpOIj1_~m4}SCAj=MR`+4M|~z%XQgH0oKWg|uqlQ*HLg zAhdb^F|mi9aj-3by`Y!pF!k9ut0ffCN-hoI88_i1 zad{vko<~&)`uWtw?k2%+^bJQx9FhSOvJeML_URzy6}u2C$x8MES{SPl;S|GT^myso z)b!*Nqag^B*7{k0!VVo~q4i>53lSHUA!y_1QzJ*fP=$=Uf?~g0ahWR9E)N+s)iVLW z8K{6Yb2iY+HZ1qZk+H6d2^976z)F&`&E7$_wZDnE34NpoalI05`d^LfrtuGSNxghuYWNpHi|9^YW+S|sh>|Zf|a)Sd2@LgE4ori;dNb@)+ zI7v^N$LWW*2oz}@>qeGjX(cBg`rj{y&mlSFlDjL(EwVrxd6&=Oa5$W2axG)=38R&N zWY>OW*RL`9q*~wxps0yD8&Ldcdr;Um2_~WV!RDc?dZL9Weq3u&)=GxKDAAHI9yQI> z+K&=#7z;{&(@v5(DSnV?DMu^$S8{!6TFUCyTbJU;u{4EMO*S^Q`WJ?$(0{G%DSik$ zRMv*~HjU5m&zF3Lumc+C2)ldKg!+;b41R1r5n?hsI++aQ6B*GC&bqFYACHXgjzofHvO2geHd&lWUNbBjBdb9%)e@wl59FR?Icz2GEvLwUoORkZ^le{F4@uae`IqQz6;%>g8) z-}=}>7_Z1|7S)F*MX+v{-^EGsH)3rHcJ(P&Rpzej0e9LtZ_~Zai`iW!t*Zyyx8*oc zN#$M*R#AA|2X02CgzbvIOW>jSG8}kA{MnWGCre_YG8T(NqBB{@Aw>)yj2ZpjjKh%W zKFSE~$r^TRf7E5tPahEaucyJ}_0AMEoOU@JW082-K% zQi{@Z@17o5A!Cm>9BV0c;LYfPafs;I8X6^HU*W{@2c-Ld50d}07m(O};+8=P1|1OQWNw`2zPCZ zJ$7U84N5y3cqal1)36FmGW&)kp;?YHsbL1GCv?+ppc+tEe#u2zN@X7l))ZL^&w7W; z!SvE*e>BSOZavC)8xb0NPku_~Nt`hsMpj}WT(OzY*!};Ftbhyq8(jf2EN{t^qF@A& za71{pOO;UiRr)gdDsAxR5C#i}Pe!ti6H}Z#99j`?JAN`{SQIKwkRDDs7N#m6qbN;4F^O8FK0Z zKZ1&f&kOAu*2j^-?T#o9w3pqxEG9*tpwx?O_#c*&u+KzuCsfO|ueh8|mjoXtx!s^Y zf07-gv@YtrGwA5nL{{|Rub2}znU&|i8ihz6&Dale+Xj6hx7tCYrvqn*NcwDNCq`R_ zIi}d&V|#m4Cnv}zKFd9Jk)=kGxy?{8^sqR7m# ziIc~!?qC#?9=*YP(-psPj_lP>6u)q8!uLEFW`*w|k7|^E2@Y(TU=Dr~pMNo*e<41< zF`wT!pBEuf9pX1vn>pZ14-ws>pya5Ku~=s3VG6OJZ1SM=|HA@xn=}h}vYhS9T%#SO|$H&yY7zd;b##8{yz#WALZge=MMM*-f+|N7rrW7MV{@7!VwmTJZhX^=3z znh@-lSg}OQD8k|=Et+uvR$CRYG*LU=dbC0NB&_*i-}*fRw7x+Cf0EyqXtK4|1m4LXsur=MrY6N~a zQh1wgeP$s_Jp4PB&!}Fh$acv*eG+Z9#mT`$I~|_sT_&#Z#d!)$PDYD^pWYr~c6N^L z&3^_SOTOOojGuBnV9;zrEemhe!}~EDA8F#26q*z3T{Kdfm$mFh4Ywi4@~+MW#%*Jz zUbDlX-s#z^fAW8Mq5t(53p8G|ug2-bvbmgsLFE2&HN6Iz5~a{f#9b~>yuTd9<{9!r=267PUUx+ zoeDx44FTR|Ox!qia34bKoD<&?HNghaYbafFTG}dhe=L*o^RZ{p|5PC!B{S#y)svWq zo*Z-uFy<0H0kfTqUG0XZRu3xG--Hiz5$2ffXJy&(kz}malbwkC%8ZFg^U_W^;J`2j z-;3Cvc@B4txj?S!*6`4}Ur+j~F1Z?;*$|86V(Fu)4c#0*51*IKS!popMl;Gzd>VVa zQ_*xJe@&v5FNOn#223;$F}(gtoa2E`Pnz_ygG+npX^X1v6ZatE>%(OLD1uMJvzU6s z`K;}1aKzpwzI?89LDRMD6~zz11%zyC8Z^tMFX+HxQ-Pcd8gDn=w4>6r86KA!G< zZz86*<+x{B5jIa>Y_vrQ5hTN$;lNsd0QBoGJIF z;h9O?@%WMPZ$f)9)h#*%wJa`fx_-V9h*_qylo-t(H@mB%Jv3eO0MvYWKbIA6Gi$~n zf38b1{y8A2$pb)HvLOf>^_=iZC~ilqc~4uWUmO`&!)%X66E@8C`sjAFKAMyjtI05I zvH|Z<<28DGw3(M*m*S(y*}P`x_w8sg9&c7$Ih#H|Ld(J7z6Q9B6RzOD@j|JV7lkG&uIinGo49saz95RRa%WOVE zr7vRZqIGL}DH@($JQwYD!?E8M0_N57ofGs5e(U27z$?fXibX*GzQdv+2r zRY7r_vqoiFA2>U_))q9e-C>P^e~rmZl7u|)_+<1fGkF{XCaW}H{|$NNP6GDUEt# zL(>{*xmy!MxEUs+K_It@vVQ5-MiPa0Q$1v+N|(XjbnW_(Z)Thj`b}3%&X#VXwPmGA z$06IyT=Np8TLIj>Mp9Fyf9r5=251?{(s6J%-9To#bT`zSZl^)QbSv8Hh1dlW8ot;KqhLSU5NKT|q1eVjSWT#TEqm*@| zGA$u&#*LVuy@7yDMKzkv*k5mg1(XAo?9$UB?fZf} z<7CqS5r|f_nSlvIzsE_TIsMjm;1u@(2b*){At)qvuDZD`uSHv!Zrh0<5)H^&h#x{> zpA)GSY%{4u#q?@2T`w2wG8E^cZQz)jJC?9QPq&|obzFbne=H?Twly1dptnRVG^`le z{>6@&eRH620dkpIVQSCOScD4*}*f`V1y@I}38e;>u}Oc~*-mnB10B8e!u(XhB@MKbo0EgNP(RS<&>3zTP9xR{Bsztd$1X^L*e1k% z-hNe=o`;8}6?tg*&nILO99dqXnUmorK6UT;eU3&@eB=o8uAG%JiwHt%`BEdd$2!ax z6Kwb3e|@*Mg%T;VI)&A#>BxZ}x!!5Lri;z7GPs>F0T3@%$7qKW%0+KU zOz{(|IWTHepkiaQu^f)F8)U*ru*7t*=liGZe?|mf=`hn)k}In_k>|?1qIY?>SoyE_ zZ(j5NJztDB*Fu1AVGUWJ9yh6Ky26L~dURQSe6}cYk`(c_5O1mEB#JVLMyiEDX4Zz) zCOd`UFY(6{R7H&@Ucp`_Q%k_c{OuKV_cwmC>(#`bH6NKeD6XqqTcdP6?<8JKEdlRH2V}@267+tNM#s z8Lllql9hjDh_tx%>xuWVyhnn`Fdd`A2q?49#_a5Nm~#QL%JS>Xy8QR7oUUinNUgBA zN?2B~>HE0iFl7QN7B5S9+Y=Wbot30Ve_~95DJQfLM3imLs2Y~DomgTRgbd4}&HjwcZf6lLK!9#uwR<@I{T2;L~tX4(f?CE+g&#yQEiYE(f zo~zNU`gJ<_T-uBjk!X&BL;=-%TXt+i3+~ysgm?l(@wl%S(y#B%)z}A4)cmCC6V<*MfpElFk75ooUoGfO10h97% zuE%&0j}d;l+$HEv*W~f4VMQ#dX-`1k6CI(k^R;)88X9_P`M;g6DGx-E@b_z_@+`O6e=urQiqC*5#6fp~!RYPPC+-^` zbs4h*aDZzG==o4<$7le)?xoZ9(QwOKBb#a%EN?_J{#|}6Cp#b-fBDpcuEn_1SMwLh zCHoi;b--4OrT}5KVC`Ltld5ft5#x^66bylXx!WLo!DeCuF*wooASrJEAYeOW--6d{ zwYCiF*F*O2z*WzjKVYS|fbd@z1iJo=zkAFasVNDU%h}`zPV^%>Q1VP#i zc7`?7GdwnF!z=m@e~m627cFfFN;m-aAOzL$K0D{Mht4}br=h<+p3{7K4E_d96;WPm z+Ajnp_)su^3|!n$7PjW9Sx8KBx;h3A&lJ#Rkx2*h=D31G1C}e=A@^zn-($DL(-Cd8|*E zD9;AVvzWiXn%Y^;reFO7vToS!AsOzhbS(0DZw!wpYtN*6C$F2py@^DzB9FvZ-YwZE z1LtZquK0y4iLGM=6Q(_?yjj;w*Ggz54pXp;VZDoE|Iu zIF?v>EFtHUf5FbER4s){piZ@vDNdE@C{jH&@&lXj&?~zklqQ z+u$AUk=+mzJTSju1QDX-cNRi6vvU@LEG!n`;wV9MvC}=yar4;70h+KF+u=T04Crn8 zRftgqvq2dMq%s?)YKJvAk<}Ou$ax50)WX1`!)>N~I@g#GhO5et=$|%CNJrL6pA!s(+g1CTezJ-6Gl#|Ee)A7-*Bis`Ea9g04Fvtfg5~8#f3Ku~ofIDm52tA0t~YTcWU)F~$-s#=Zm z!@-auZSS)NSoYXD?*Q%bxn!4zP&RA(pb^KAzzY1nCh(^^cl;|6pzU5ZT;S+&ww$jj z`rGX|*b;n^YIfY%M$bFE+dzRPHrd~OQ|)D^kdh^5pFlgdRA^a_9-ZC53kLPB@OU|P z(#$r{yfv@E2cY+=PK;Bd2(0UuXUhXOe|~Z#WdtizBb`6eIgo}rGtz@olNf23ni$EW z34DrZ^BOB-y@iEcum1DNKFx~XUv1`Jf`-NVYldmDs-sI=%L_11u}JRDbhq9DSD}%r z&S!8G%HpA4@?t%`k<~U^e7ZeaR370+00~~*GqmayEa;*zk#G>@_#SOCN)#8XgH|VLUFfbJcyn=eK z3Y?k(ryk!?dBd)z?8GQkI4U$xw_Q%=#xlXiz^B-%8%ux2%>L;Y7mFyFa}C#eVpT( zs*N$ArZqA#8X>>2NPo;16;E@tgedpENXkNp`Z**aj2u7evS)wGo#I19rri4)Dz+Z4 z8>;K!8wi86*8oVN&_{VekCMY3-KjuF7UiICZyg6YA~KDHLl&VpNSKoS0hPQ+Mk+{} z){1L_7Ma-KY=<)&grYGG&aAmvH1-c(FE~4MG%lUMK1&?d2N$%PXC=`Krzj?yjvqJv zs3%6d|D(!_BzB! zzHLXk{#Aaf7}hIE-AHKJpidbOXSG%Q{<9&F~B;2!O2JU)NUGeL&DYRv_sJaUj=`{|km zeBDt<1bOpJ5dq849Bi#iM%Dd5ANm6o5P=M!^>+@PrK&)n*Xq^$XXO_e6^hl{J7JSZ z;{Gq)rsA%E+nBFlT*w>EK<+XpcpUXwu>4eyCUIak zwU!aLF<~(C=v>>zXnUE*C+6L`v6ta+jhW2Uk6Novopa&%CPHtb_$;Wkt| zc5rfLw(R4ETQ)v^3r)q5l+RCz+BtlbF)t?6*<55I7$dG0RIGOBRz>19V%IM4AEeIN z8PkRPf~=$%_6z+h4uIHgP30-G2q{UQRc=fzj4XfBZ>#vRBHsmtV7e1Z7#3?XI9^T)=S zMYI18%`N`X3G#3mbin+l+t|YsLK(3Z>NN5e7cJF=XCqKdCk$(+)wiDaWh{TZock#g zkwpIj|KSzXITW$+M;bp483t`Zsm_oY;l-zQB7Q0dhE;TDxpWe3jzXDe)X%)6Ji(ka zL`oVf-)mSCf?(yVK?=TZDC>W-X-R_~Cp%>eR;To!air6KeLuJMvArN4VtjBWwO2Iz0>w{3wW zm-XY*@p!SBSMSOSPGQrVk%>7a0?kY&RMp9ZF8<@|>AE5+@b`3;p8|hXeu`9Kx8IVg z0`KW6??<1X%@!MKGU`*i{B*mt;JUL0Q<(aY9*k7lK>J=!TTcZH`Q9+z$#la1YMGn_ zs=U|&hVcJeRrnk6|JDXJF8NlCZKvg}&{y;DEon!e3--dwmBm=E{~3#5_`l!lyT$~r z`2m^2EYbeJ%9*KOpr`K!BWS(&MggY?P(z ziy;QCox+Qm%4rwlaVpus8{0c2a4rk)Mx39_XCRuavp3?st+g}Rs4$CnDmg4`R%riA zp2a8E1%vb$erSHB$9H{!SK$5PrM)73&tRx$rO*>BP9QI@K@)#CP1cQZWDd2zBZp1W z*llDyT1|S?%MW~^sHt|3U!1up=8!sGE)~i^XvAS-Df8WvX zZlWJs++sAD@HKyuD|Oe<&l8+9L&K5X&Ub{oqX=m)Q?Xf#U*7uN88ijiDDvF|XI3RH z#bOFJ^~I)oVc{Ug(^THgLKg)#m|cZSwVV7Yn$ VWqSQ5_x||v{{c~F+nj`C69Bi2 delta 242992 zcmV(vKxbbtY@B&hr#1%Z;VJNA)hf;zw8CGra& z>L|v~=;*0=oDz?i%(0$TrO|pl6LIfA5=Xn4%n=jMMP@bAjDCbpy0Dec!RTpBh<|-L zT8{=!leq1$d0?#lFKPO9Moxt9+9nBR^%bWv8{b{P1EVW>YfsU3igj=%EO#z2!DP@i z4|Zl|R#X@IfpZ`5nd^curs(UiA`6?bv*~=sR&Bh=btCv<#{c;vZM7uOKJn3O{eL}! z?;2K|NHEel&JDKdBy5b!!PyIAB7goBb6og^hT_5dm{va^PLBUWofPFyFRXappSgS{ z8A^^z_ediNw>+I=2!3{CUn^FJofgbeCVW?&=Mpp}TpQ<0=uq0k6YVsBevo6onOv-b z0Wldd+Dwd}0uRupSy8zA$-RgNRuq9zF))5Ot!gY*GuZ&o`Co9e04tEJ4u2!92^HTu zo!Gmp-3U#}Lpp`!cbg&vYB@=)c#fl!{E74uW0QYzELrTn^N7_Y-OMM9_K{N*{S znFwB+@Y8a9Q{pOs-;01-#L6qCvNHT|!FsBv6{<`(HL<;Im?1=zJBSw!IA7U}Vs@mk zf=IIIS25@y^%bifxZkQgUD^%{>luBwu&p8deVYB@3iPZ+$+9?5-+#=?fhH^QPIlu} z9q(xYuW+NgzoGoZLO+h|qphN66DRhuArJYs;XRO+)M|$CpJ#fFLxJUy37dSyI4y27yRGJc5a{1EMf}9mn zu+T);{}y5NodNdb)Rn0-SK^dTRX7zJPFbLa9oT;$OEZ&l#j@Dt5Q&;&Su7@3M6o|@ zs3J(%A9Xi~H-2nCVzwb*tmF@cc$OGC2Tmlnr%-@1y?88`0z)JNGopwccLbJ7brhgXQc*{(DVAj+@7Qm9l1c6kjd4P3bIQeoth4HlVp@t>w?21N;bSJ;s zZA32XfY)c%cFNTUlHkd%B{0+beimP_lj)yG%s^~`BtH0Y@Y>ZG8g9|gz^O2f%U4J{ zW_GKqnR;rb`A;_k{MmEh%ch%9B8W2;v)Ha?QCqJ`kAGG~(d?cD(^Q%|+dV3zvbZl7 zWao$?HcS^i1AIpRLJCtO!^s30b78CE9l=jcNI-z}WiM^_qm0oIuVHtvvd9=ismvci=-52U-xXkCDJPwS?dAX`)HHNd}qS2;{z!CFI#XglB23SIdWNINPk7iu1<7#GgJ#~8IUAfA}%gBz?6eq|41uQT^h zX&wsx6wQY}nBlA`4Ko;o(#@|+lX;-~WOWL`O8LPXR(ZVJ40m>~<}fD346NFZvgY=X{P4N+qL${E!s zdeDNO+M)U)Wb_Z}E$r@^1&^%75IPs`q2-FIiCSuO!BI9P0gn{i4y?yekiiZkE5E*T zyMI;!t{HgPVl~sh5Xwpc^%xb(8iM3?V-ucOA1Qk48&qxrLy=?+!x|--ER{iDDV@&kS0$%p=sYBXhn#6kan&u3%1lk1Ca*)C# z)~H)#jrAi@q3w~a#mmT-+RGi@aTCQ7E4db*X3wmL<5?thY(Bm9 zRt$>xqRB80V^5AZfv$2^bXqMVO?E>QJUfI&ydk?QCNSR$zKKnIl(3IQrjh7qU81lp z5*{sLKa`zrtcHZHJ!?a@T`B{Q9Dh0kY;@?$?`)4KAEDVfy?903pYI ze20*_`55e_VZqiH9HBbC871?Lp47f2$Y2rkQxwT!ezT)}y~s?b>!ju3F0 z+s+E_1;~)@QTeSlF+EzF5IQ^8RH~Q+5?)d$l$L|Ce&miY$7*9XhngY({C{fqPs=wS zU_a%Wis77<7cCRU6hbc*)^s_NEVAGbBa1bIM!tci?Lh+ntw{1J`jSwB|F&#Jl#L{| zSOUq&6C;oZ*PTU&gPidoL3*+%pUwSh#%1Yec&L#q@)O3(md%j9A#mIAzh-1c!$ra# zW|iQ!2QB(gmJ6!q8EAbLO@F^4ry(7XnVWu3nX?aIs(gy+ z5~M=h$#^;-vorR_l+G6Y6Z*I)j-*k>*UCTmDr>Gl<1zC}meDKgHGeg>gfd5eJ@Vl= ztPU0nB+awBcxkDLVXxJZjjY9^WfCXuAJ_Bw{UQrDh3R&YALQ*5juKghiDstWGDf-* zohggg*a8sl4PE%DnVsi&HLrql923&Q45Z-_#nc$=>#G2pA1{_Jk!sS)BZXAWJho!S zhqOuxxBiOrVm?^77k^Ui`f;>PjoeE$DGgY*Y`{2R84|W)9fz~6Dh=35vZs0)6Z>;& z(Y1N_eth^@FsLNQkrw%-Xpx4-!Jf)J=YWer7Sy8eKrP*agT2q%FcJicpCU6#C!1fa z#TRQfOPP>!bqRJXNQk|$uYbhk9mx_CcBO#iq}aAB(52>FKYvBeS?PBoTf(s->qF=) ziy3u0Y(25Bwl{yodw-X2Z)cSKF5h0yD4V6t$@G+X>RH-7dXW#A); z{3-PgLg>oP-pH~hB+Cq4kJpM%Oul;us+P9N{V_g*$$!~zvxL9N@{sB}_qvk3Q8tZw z&Z1E{o==W5Fg^YIwItR=qUPiMi{g#{dDjkBklm}gES6GuB)Gm9KM|7c(lJENJM#KR zo3{UFX|XLlWjyhYeoZr#<#_K8ss;~k*$JItg69hl@v#S;c`UwUDc2f@Dm~a;+qJBn zz8K7naJBTH(2Kte6+jHY;K`Rs7^kS}M_B2@Aly5sz4~4IdXQtOa z9rHoJpSD3}Nn39Ysx}=K+N90V(Oh87Ach5eV)?TFdu%Ya5qkzqs$ULRo4H2|G)96M zk$?4VF(-8k2gwjc<~7K2(f3pA8kSRQBQnEC8<7*92fkTWsqHN0OK&w=k{i-M+aRKz zR}AA|SFl|=c0)^~+0JEoF18K2dO{9QOK)9p#=}!(Hcc!bTbCuvHZ3w>umiQqzQ}o! zps69js(}BZ9cPw|Xj@9S1X;SA@LRH6Lw^Gp+XP-9W7anQxB>Ooc#5W$0s6?@$@=SJ z5RT-_Wm+Hs5F{Ot9X_KG#OJ_zMOsaSXDX;TJL?}|4|t?OCV%`?-#qg9D5YArn@icO z-%9c{NUVCRnX>kT#5sV}aS}(CuxXK5k9PbC*)_{&B84_S*Aki^o`K1ofo0{;Tz`A< zs=p9Jw_1~um_XhoV!Ltzj)@h1FiT=vkA7b)!5)`0Dmec7jb8oZEYd6*Q>-oAct+pg zn_coY_rOh7md-QD&J%N}u`B1erOO(zebe{EtDlhRvzAq{rWY2LEWvT#1{Z>>;~E zOHv8oWjvKrv?lQs#s`vMS&kFB#D|1ytvy~?A!w(!hJ?~S^&yQQ33>e+W8?J{WcQiB z`Vx`}C2VR(wL7mLpO5r;!XQaT(~#tz+M^fgo@Omf`=MuDXA*jR{Hz@@(|^!9*w+N` z?1anJaT=KA5vF*t-_3?EE3{v2mIUKA<3Svo#n(gqZy)|p%YcHDy~Gn>%|^OVVyImd z2a6>dI>`9REMaP?MsXVRM`?DM+mjn9>X5eKG5>LUojz8X-F3_KVf2z`gIjiBzHG$~ z@i_4ejQs8MV$cJyzF=9k{(r8kC$JI8Q?qFzWxlO#?iGf%1%IX-s$*Lej~2FY4< z54?ES>;MyNhy74CJuRCKy~a2(bN=SoQk@JlDzJ_t zJt=7ue#tZTCNtkn?5JiG^yd zUx}GM_{t6|o_TdLzS16a?WMQ}>4g@vI#}icDj;!E68GzTl5qgr9gkXcCxJ9JXSy6NF|$0aNlAE-2`!vx;IA( z)~$F|HcKTw^9dcaR5v8f8rs45X8d_qQkI0oV?k@r(|^lNk7dkmAUZd-aWIfkg{N-c|z+feerc>;mumK|iwoo&QRbw9CP1kSpcp%C2j&6(_~*)6Boerv>u zOtrBRBJ^kdTY0po@X0QT*c*)?U+eZuNMCZIJ`rMoz)LZ z!4ejtL|WEUmKSgF2^z{-T7b5%$|D;3(sNq_CzIzHaDYf1;Ecd;>YV4$svIzM>jG|e3Lh6u;sYoX}CX;1+6D)m*QT}ZtW3&JIbsxZdrjz z8OM7rZ;MPz_4GF4vt2e%b@S78dfp#$aDQ1ROX?YESq_8cqa~ulC1Po{Z>F`()U(DS z=cV?b1g)}ZDdn0I-!v1imZn8K_lbp*wWJf_9TICdp*youL?WDAC8K5=^iu{B-o!Q^ zdrl&un@c@e?9jzhlN%Z!CqCFQ=y|a0o;**WUmJ&9{aU662OR+uDk}LQ(f9#Rynn0( zniZtT8YVdmlu#TrQ`y%e#m#0O`qisIu+3?#9LB(d~mrB*h}GS(gp9VW?Q4DC`ba^8`- zoMb{oPiS3Q@pTXgv47p+uo`ly1QG^WJ}xsBo)>rWJdt%EwfdQapKaYa z4P~EN=#FL);=Ew?_f>Qle*!r*zH@JYYS+&OgUpU&?u|YnMGWZe_>`nV`CFzfA=xEx z$(O@QIAtYtF^SE=B8u%_BJKFj_m4kh?J2gW(Z4d7EcL+ubswUP1F@J{xPRVRjFiXN z&pb&t6M7yC8OyIV3{|m~ZA;R!yj>D>IBO75hBgKf*D6-Cu7arv7IANd))*GZ*Vvi} zGOG6DRVOyGK#2XZ%tx-N$=Zg)6v=Fgb{(@F#MG%N(tp6KUDn)y3LfSBqyQKzkwx%r zhin#0AuZXlR;PBnSJ@R9OMmLYbCuaxiSF%BQj$yrWk{gwreGdN2hAVcN@P|OQeVAc ziz}fll?cpF`H(Ma_P*+5JNQ>J(ku~wHDav91>bbT$tY{n()ki{cr7EdtuJef&dS`1 z=L?;AQSR1U*fX_mpQVh;!tYfp#b;UgB-Y+*cJPX{+ie256aN1RSbt|BZ38TptTTC$ z`BH9X#q0{Wzh#s8SiS~Pb7VNKiYaNpT4CgUW}aM@tay(Z6U%XVgtgK0*s9$mFVXpO zolW9$7L{Ry?pKM!PKkcBOmn_V}x6*DgTwQH2k+yl>y)iH#~F^j;>aNS-Cs=g`4Bq`=9C=n+X!zmFw zn-z3A%PXY?@_*F=B@u3+5`R4&G}R8l3I&n4AR;|qj2$sY>nQ$uFp5;xe5HULrU2HA z1MI)AS10)S)XV5x4>i>J0|?PH9E_!*m2Z;XM6oQ2oe^22LtYiKyDw6MX1dRdHjR(GuK43k&rrcX*|9lo>l zuM%GyT>&O1+xnb%wX>R7tX3&*Wfp}WFI#rL)~~5_A8@Tr z=;ISIMSnw796?%E#85w;uOiJcc3xk_$ox2@^pr?*QEbROR^8p&p?o$=<4_hqp0A#f zCH&(om5eM=JWC=7lrQ>xtSXzYV)7*dNJ%G-1PXplEu!S#GTeWBV_k@ue{efmEk9g#dM{?Z zoetdil8Lo%QAV7G@5Z%zvbQmr7@Orw)6NH$Oz#G6N?x#~q|sYvX~rR7U#+o0?(AtS zwSO0%+MactiRo0$Iqk>bP>I*c6`%BNOsIVS-yKC_^ZfoOHhoL~riVrmh*3;Tfl$qb zWtMzMAiS;CB}BIjzUK~QmW%dE-5p&f{JZ};!NJ7YF?GtT8TjIJ_) zU`^4mlRd{Rr)P%McJhm3)Fq)5OTqebp=;_o`#-Kpg8yq_No3qs#C-AQInERw(0{iy zas4VS39-%46Ca$o*rFBM zHggul6U7*LF6&Tr0^fdnMl6fLPGI|M@|;|nq9-;8>%CKUMux!GoN@R6TDCg)r_6Ms zf^V?Ui4uR#I5+3pY{Jyu|H>iSMO%0cO=26IlGq(KTN$x zS*u-^6GtWEsh;tq7RKhqv_C)IU~GHL3RV@xzn0@)ZSNWxuPyVcDCK3-knP)-Y<(Zk z^UaH)F3V~9BInd<_YHM-%rMjFY4^e?KFoxIHp|b1#z0Xy?3LY?wQ8Aza(|XEx8oY1 zgg9$aI-<-8u7PS5CAA5)OG`&;IiqBo27%;Ra?93Gu>q7-v=7 zVid*e3Ps;-txg7MaO6TyIA&Bbbb9=?gvUmZ#NUi8mv+(Q?JgnFSooHmv!+=W`Dskw zXSATh8sXq2aN0nk57W$x*~I zSK?nAma|E)Q%z?(39=0ob!RgPEJ>-$HJQlDE60?;Bj{{{zq@mQ!lREsFgXv1A`F zFLn2t&i?YxyBAx!_(2A7+J9$89O)d(NFO^B&f{7{*}$*FN0)$+6v46#Uso3z01an; ze}rTtHon@Sw7OU{e>4@7`wTJ`TV@I4>o-1FvvDi_q2cV{>VKwe+Z;|yEWCH!Ov`tX zHVZ3+8bF2wN(776HB_jPm|tHY8nMJ@f+wGcZhTvbu~U_}CNJR`Dx;UDmvbb>?a4lj z-1xht*a=C=);hBub(6#*XvJq-w}71wxEEPG9*=J`umD;1z0{U%cYP*ii@s;3X)FrV zp}?b=crR5nNPhy)muc2;$qWio+_Rp=ye&LiWxJ(aQM|DP^H58mkOgldZd`)>2!$jT ztKS}Ll;^Un!sYT*bFxYx*q_E^D|tF9h%X`iBdTCgfU*q z-^g-uVx^t+t*$-$P}l0#HGQ6D+%hgc+woPUnFaVz#(KZKkKK`?MWdnJDEI{DM! z2n*UvO|cUTYSzs-?`(-wFL7c^--_gQKEFD*0YAstCK$oQiQwhT%K4v#rh=3 zW<=_y2fRnGPAuGYc9u(GuPtYO8>D9C;MBA;MiyisXX1klT|c-DOjmAi(#EZ<7Uddt zn16N2rc_Qwi&r-`?9lbNl#LOokUM^SEjzpwNX|6POZ#SmnU~W69Zsyl$ZEDf-T1V% z&1dWWR(DQD8lfxBuAc^2#k7adXR?V4@oSc=%K!7M-Eo^ zdf>+2le?1rvDyloCU412)}V{XYjT~KKs89@tfX>=QZly({-U@D8cE1Gaw{p*YB`WQ z8H5mt=O47<8*2T{2ENyw-&UI*WnF%j*nN^YstnF`>2zKQDmma zt_I5>)#CY*>n~9*p_XYK%B%#wYpcG#xF}}x1u;t*^*Sc5mE*R zXcdf;sKYUJT%GGqs+Rltf2Wt9u77Mi*3FHZS|vK`SE8Svwx6n&(WSL|>{jW1CKyi3 zeA`!k`dsOn6#uy_9R`5!sjcqJ$HgPulI@(;FIcme-QyD&)-br8+FiXk z_j>>eS+WU(Y%sPcx*er~nq|{z9jZOSA4nE?HPY?0o!f7=(>>ZwH=`ZJvVUKRhUUG$ z#XaaCkaPdv;2yffJ>1D|$F!rd_vDR7lC{-qBYV5Bc=P9c#4M4seK2P?p0S?F7-KlB zSMR~CxJ!j&GW<6#J8KdI~Q@_C6^M3OeAS-dRA>8!3E=l!}FJ^drzZ}K;Jza%9*ST5l+@Mk<@_fY20 znVjgosO>DT{cLV*k>JKA$GNeE<;DgHZY)XKEi<-CFk`|+46d%e(tq7lZI7@1oqnFV zvh`R$zml7k?dW-;qi43Gsut^wpn83J`R{b}Kf~TyCS<*_{nYLo3E8P_(n4ppv6iL& z<^b1{r48go7;{)u?D0Ov4xv$HBW@qFM*r+H9+6occd4%l`7>ejIP!{3R^%%_eOe2b zZ@Ps~J>Nh-Wk{bK3x7GD<;%oR=;^EVSlxIr8?Yi_aVlqYj%k@a71WX)O3atV7`DvW zb5Qs?N!(czGe~id62WA()?E5fj|$m+$nsCjI)iQx-UMa_|IfTOzt!<93wxA(mOfVh z!83Eb;u70Q?6r~1Tux!51zX|@EB{ZPLgy+A(fuQ6l~`RiE`OE{gli>K3&s{9dk|-) zN^-SiG4@hPnNF+6@4E2gWfN(3F#J?AgSn4qE^`{^E6W9S5fJEExa&54N>`TvgVGM8phUVxLIx*474> zUl%e~|K+-1Ab+uY&h|wp10k-Ms9x4fk5SsopdcEhqd3a&Txk;DibKZk7Ku16_1}L; zco*CClu(1!4wpa^|9Qi}>awe{x3_aU_uOK(`^<-vlp1w3DL2aaytS1*J zPmMlV){I|$7MX~MRxa@47ZBMgOl;7JDP$U>`)3^>Eq_nn5NWXwiS4yUTu~v_gDiAv z#M`YT+lbA4Xe!9!I}#Nn_#Mk-Ss%{SY^Sr7lUejcwd1vvlenjuN2{B~Cv9o}eBhj2 z0e#0fs~vdF_6$An^|-0MmVCW<$RH%4K|wD*iD@EGF+)z^SLi&z>)C^83RV)6r1W0M zKM5167k|g51QsX0e&Q&mF(RG%IrcT-V3t)jv6I@{@mg_YNes-=`$PoVgB-zk^OfWI zf@D6VA?ZWf)}u@gKdm~F>_|+AvM{K`U%5j_e{X6Ap2KqLC_=>DH{&=~ZQZ#@`~Uoo?Tod@LAUdT zY_T^X$XQ9nruqN3eDG5}WwoS!%5w3tN5T_v!n};u{$E@omL-TEcemS%R+i8i@9FU6WM7h5veu;}wiX_``<6}p^IDkBmd!Y@?EV^e z)${9666?g)rABauqC+4lF*2Bzcu7h-IPQ1Q4+wZ{wj?K4Cq5PkYKo!4yH=~Jlp(QNhwkA6)Ov`d@ z=gbFUyxS~|WOVvMsuq-*TJa?jh_P7VI*|OI4HaNBw+?ZUt$609ARJ*FUson(wtr&5 z`^5}K zF&n3WtS)3~Sm867P|l=hlNGW&6Mx@L3t8QGzA}9cod5bS$J?G#5dJztlQ|0S-h;Ar zK;eG`hkV1`$Si0~GxL1k#bn=TwS_o`^3K*N1-Z3Kjwt{4FCKbVxbGYX6C!)#qjd=duXt zFOID*3J_w?2+9yh+t4f7Vt*62X3I_8biqgJtPiuY^8)idctY@nSnpp~p5rfF+vWN_ z5Rs>Jb@;W7L-*k^fKmBNju z0&>UR^+i|S@vEp+A#@SvC!i&(5WZj-u#g~E<$*;`uy+0AwBxE-xv*^3uEyt{8pyRo zf@}QOxDoi9cTYWweSf%KAA1D@4O}K3?Ru(l*n=kS9(!KjAR6@5;BY((msep3tt$An z9W|E<87eBHw0!&bFj%MOK`VVvVk0W$R@nTlTaq6XHc+>6@pQG4`$b)IP`!sN^&<6T z>*7*6gMZ$V8mb_qnhy*Cg;Q%+43SXn0s2?waY5yt z=-p!<>ON)y;_kmkOx37Z7q?M>KQ8MUJbS0!1umiR+Y5w!YBNFgJC}}a8}Fk^#MT@X|beIgfb<*7MlsN0w107Y#?+4 zpv-S#n`*vb-BavYo>G31RiP*_%WijJ>_ zSj3{W;MuYa;VZ347;A~!3$PGCB=`&27o-~za;q0^2dc(>!r9Wo4)e5d&#2U{=IMy^ z5$*o`7LZ>Va_-j^Kd|#fLLTnqrRTNBNq_VUY8Er zB;T-wJ`nN!>#B(23-XU&1;@MN?1KX4M;Ymis-d!~`w!b9zr3l<{u2d{=&wo9$Yp(4 zPTtd?fOK<+Z`DzOxU-cS{xjEn>D!u>Z2kBSo$5kVKJUY!=bn$xM5ACk+9Sb=27i`r zDXC>yv^3|6zO(@qw(dpxOP9W=ikgmJI>WVJ?jZu!Q6&246L}gC&i-|x`tv@FrHzZS z7nE2AtiEt>(=GN~YBCpVvVt}3V&g%6cj?X#*Ku9cJcMd+qM*}p#2%$K$k!|1f-7A6 zG%f|ETQ8K&k9c&wrXt`>kS9otnt$lJIpm$D+{fvzbY(yLi~^ zAK1R}r;$rTJmqn`0*42PuyiM`?BC4A(JW(-Mu|NKi`f8y>kWZy&D~+qb_QL~fhDpH zh0qQspjw~_gvim{u)@z#0r)~kFt4D>=*Lo41(A|5wtQ@!%SfWOv3V}TIDanOsQ?1k zF++)6p%K(k)^#ihJ#+Mi>vaLkw#=+!`2vYZdF974*rG@b#@-t*Z?(}s5kvmhWyy)2 zo<$|$jHIz#tjG2n2o2u)Z_Gdn;1!ZhEG+*+Gr)acpg>i-$QsuIA3q;)V<@AocL>X9dc3rP#g4It*Pg-B4ytWT1jVMs!NR-xN6w z5d4DYwF@H01li3>6V*g&i&Sf6@6-4zue1fIk^5s8W!*}Pn5Gll6-cyg)3(yP1AOiL zMM4o2+{M}kkxdb^d4FKn0k_=(I-=06WT%9`;Lg2+eH4~3_o|CT^sgJmgU?-LDJw+r zauK+8PrNTR_<8sMb|14Kc-(sPl1{B`ab9-&gDY&Qjv4UoC7 zgt%Q^#QGJ&^4+@IAT`=Y8m;D206q8%vLvd|G!3FE6=D{Kdw-0|g+@NsZUj(PYvo|O zJ0d7tMIp7zoCDKc&M|sjlu`ueykJWrz1e$AJO;i+@^j!V?+|$zFmMLMdwe_EFR!#f zu+(`_$QiyIE7Ni+_dJ$inA#CjeVu!2TIeLoXsGctg@V&UbqUhJabXakrcH5umndw1 zFb9kj!6nxA3x8PKNBRI{{(h=g_=93}>!OF@ggUy9OV@tJ~wF)47px}!C8o(`hn~Ks;$Dj+zmjQA{gww4eArhw|+*aKVhF$Yf$CrxhpsTI#+&(JmE71(fo*hV*A%=Rifh>(+QE0r+4EWFC}Ucgaki+M{I(*#FjrSW?9)7oRN_R3T4W;eTD^34qr6 zX12+u7k_ba^+_dg+z*Fq0)m|*L&`bZQ_7%WFL5rwH>|fgMrFv-U4{G!ie3wL%KyL> zFe4SrE%eNL9^IvLBU|P@W9}OwB6HC8DpK*8k^KTTt>?WfjOD&TIC*z!&nti3@v5jZ zJR(qy-c_wF#VcKuEXxF~&Luwyy1*Cg*(GwrWq;I<0fAY90@XHGbI!e*6Kf4tI_P)& zd#k0BnqK{j`-cabEBH4{XP{ps>Yj5&x#yHP^Aq{}=v_57cEu1CGgA_Lb?A)TrF#yV z;@1M`FrOVZMZqx9&{ocqrFBaxp&8H?kBui><*_T zzjd#)&8Tf`1P$n~;)h7-*)I@l1DwmsvlTQIIrID8i)aSZ`(d2dzHm3C-vC4LG7kZ< zpJbCB7f1nt$S4+-Vx&I7bXgz_amtsx`+v8c+Rzw`6Hv|32C^4W^-kSyP4L?N?L^(9jG?$yM$j8o`cG^g@o{n<)B?5h&jG0afOeP6C;| z&Q-jps*}$`nJ)V{r#_y>m(ew`!swZC?rDC>dnn`1e~q)(yz$f6L&y*TPt`-hR)6Wc z>0B)k@PMzlERY$b0lF;gQ02_eoDW^JOtw5*l#x6b7AB+*9+L7Temrqa^i1J~QDWT{#(30CM0tk|TJY6lK0G$T!}t8!x>Lh+ZrB zR?!>aNZGZQUA7Kof79;rK-mf`&wuPskrRFhyvcyT4)?G9)8onr|VP>4UI@%be-PXRxYigrGH!f)-nn& z+(nVLK~TC>sO^>_Dj@#c6<^SU1kL_r=|u%nS?|t1n79`KuKzcvwMAKJl8f3n9^5^q zM>_)+CmPbm_zET7?$P1|EJ-yF{L-CsQ%Hh%&o){VlIS@Pn|HW&hk&i#qoE6akhZu* zZ%*H2uQb*e9-K6I!G z66HSSo;!4D4otnQE-&Q3nkGM>7MR%*;GPF1suJbNGHvMPT_H~nX<6HfwVw2ezm1_PfMDt;ugLv zq#!{C=TGEWhAImYI>JjH@~~j|yu3TYj?>K7pt@j;-U?n3``ajyjIHo??xI=q6+8n9 zZ@AajQOmarb*IXT>VLUs+6PdL?kz_hAa@Zb1IhG89jv`sNW)OevKY~_geZ0oEqn&e zocGWp_b+^TdP1Z?7t$vz+gKtgiB@PUetu6cLHrWDJqi+a%l3aoqTasT-_R)4q41$< zX;cG5o#1|r`*@Wnf|#|&ns^|yIK7O;>Ajudq%?9x@^m1Lw|`0s=WYfGNp|KS!Mr9+ zIg@+A^}n_Wu>b)xm`4ioK{tSb!uck$dB)6n!Xoi-#$Oh9W+k4ZMvI*QAmIiLb2dRC zIP3kcChyKKS$#>fu$-GM}L z^C@61d+T1)6mJZ<@}9qNEm!ug23F<$02e={3i}1Y#oxOB!^Qs(7yqww@m?o`iwB=M zoLF#)A$RDU$6Q8?vw!(JjQyDWqlX1SQ-}Y)9DRw)ZGY(saXMGhj3u4`pzTEMn8lQM zeUympk-j!^1wq7e|Jnc)iGLvZ{T$hkr6=`0JcP3h;)cA8RE06iLJ+DK#k`7^toQ!UdvTr0dU1L?U=@p)NDmtlj2{-OMkgGLVkkwZ#k2QIL^qUYd5Tu-|NvzzHs< zJ2J|k9dGRF=K%AuP>QVkh*?PB&&KR*Tz_+>g>6BMCURDV3c;xf^w{*5`?3v*ze7=> z>1+%6IPA^}mDPO;7IQjPgFtwDve-#yFwmtJ6chf|HAE2)brd{wnIVe%Y|qR=P$@mG z3bA3>tqBhi>dW(U&ABf0ebLFL)AO6BUUGtM%%3{-O>M?QKW24nIy1j{RX9+xseez} zH1I@^OO_Y(%b__N#z7cy->(5H_Wq-2=+(LOU(bVNL)0>s<}Nm!Yf!7m4XRhHEegpQ zsI6cr2luL_BKhK%xdxa>GhVgXV{FsXn(?Sb=6#<|l+il z8$ppcN2Otf9QA-kM15}qkhm*VQ7uPjYjEP|jM86t=8Ka7L)JbGQvoR4#n;zYSo_^D z-~aVt28m&|)Ly*}?Ft@ne}BPx;H~^`k5w=SF|t&4rgz&oW#8OY(uiSp#j>-zv;6PF z|M0(moBws3U65c+d+uNLc+WITT3y^TPZ|+(SnU6v7p+xNq|6g6BOW959_JATL^}gH z%Xjp-u@N#)fS(uIab=*&4DhrQggLf4A%$lh%cy>$N;BG(PzgUP8Gm(I-YwgHh~J-D7v^#nHQoQb>s$Zifv2Di`RJGyjYZ#-VuRNROAJ)@j^&& zwg183zm35!#9+`-VSSPWJPhx?Bhq=zlv~@>-6Z9=@NVnMTqyWG#4=&<3pyqt3T6m? zi@4xN)>PS*za}vMEeWIg4nsdPRd3U!pcea2ZsfMj#j4}@}c7) zpr^4%o@y~4x-qpe!;P%Ayn~@We`VBw&aeJQ)~6vraq8xOM}Nrb&Y4$Fx!lz;bmn7e zK^C|@`LDg>?~o)V+^ao@tcDJ%Kp%WQH?F3=w8S_Og(zD`c1udQ^S|NCbm2~j?lFg= zttfTHp&W8NqM#q)snj>};r~&AW*8@n$m_t^Wt3olJYEdDQnUf*2RV6LEri;O_Zc z@max)4S{m&ooMyB`X#v?4@nQf4g_b`Z(xTkP?(9G+kYFe~D2D>ihfHmJpDCF*|leV-VUiyMv-ou>7}RIl;kCVZCQI_l^r|Et|{# zgXU)J_613s_|&OxY`p_>u%_@C*MDy94fZZ7jf*X)=*3cfA54ISDn(zY+!igJSkkKc zy3@=>fSP@g&F@2hQQnXhF2>1NHiybY%AzO*s9)?hQ#d7`|s{LLD-ght} zbIoRBbKuO}DX9nv>iGw0&1yNTN~<5&57|xb@m6RdH7kWs@%k>QKs7f-jw`im;@Zvw zoydxOe+jYG%4pj`PYuCZi9LHrsLqkz;v;`zl`A2z8>30kA6i)3I}(Ob28QglFCOW7_v_3Rp||IZrw+iQq? zoXZ1pPnM>Dse40*BW`VUR7LDpnAp}4LLeC0+C9O(bB-CC12dn`YkV7hZ@o001R+h)@?-cJfwbE--Ke^Pw zy-7eoY?>E3E@xTuYY-&DM@u!8XwrEmCxlQ}sv=RstM-eUyI=|Q#wQ&ML_NI@^*M6| znFr!5=fV?}JuFrburvS{kwWQOxR@Z%LTn|)Cwv|Wk>&=N)1Z3m8X|u-_Yy?Rt84Os z5uppkxfh>ya5u%1L%uMOOko6huOIiI7!^!qo^L%j?yYtwe#$%~AGm2@EZNpq=c~}x z^#ox2ES5e?f^Wx~_Iz#udh4TVgCdJYE3!Usfeld{*(G~XL`J$GrRJQ&HQR0?3jz*; z@DHLf^!-~mw)w35ni+qeJcv;L0z%@knttHQZd0~`1`Qs)z%;g!QKYYzJnk^$&T&Sv;bT^L#T&C4>I=-% zy5p5tuX4oBt^zByUx~@_rk?Bpo;_jH+mOWNG1mQT0Oc*vN>qPblRqKG@N_Q8=mn(i z&L;y4P^sGE8qOjV?mzF$OcZyi;}u%-0nJTVB`nTZ?7YuAgC^1L0S9#U0N|gqH6%C$ zX0C3{Mtgtnh>c5x6y>!a4N=PtNAuC^qR&WF(j zb@UvEu;fVJL?7r2hI;qsu36Ts*^7nQ1u9nP!I~ty%di2uV$-J z=!J5014Dn`a3_W(Vj~C?6j#5A8xTd@hs+Jfzb#z-?)axT1(IEJ!wH98JB6*X>5wAw zEztK{4{@I{qxCiR^a?@23#-JN3#tz=1^s0U_q>a}I>DWt{99`Fg#JxQ9rwYM30A(R zX}T|H`fZf5MxT`IuHuh9y;sYffI;!eMkz@0kL-U=s>xg-Ye&hbN0G-CBC5i!no#1^ zK@u3Smd!ViQEfqd!&^`9wC1d84%!Kxtj_iZokPoLu~vNZDH+{+q#gzR$o_tvI+#;) z+TC%=XTC;GqKl$cyO0ibjrx|i4by7)-gkGdk-Ll;Tm_INCS?de+iWo@ zEl@>sHzp@x^sfv7Xb?|=_`=S0%5jQAPzs@|^n4w}a=p^UH!=xs5DHWBmEP`Pa_LM* zL{&utJVma_9BgWHj6_vRTM0%5_AuDtFhqY2!@EE$Rf`ynPZqj-6oaX0 zRLO)7=X}+PDd3s>erKmu1Wry#Kvv@Hd122zFqPyH`XXql|; zE2Vi|&~_X|lL+Vk_Wtj$y|H_9FEEdMtTI*+-L>SA%!plQ20#4JL^T{WOp;~{Uc&8P*S^;V>8k)ZXMhf5A>SI<)h(QsYYr3mAYr2u4LPMa5d_`(D^axKXbJv`7@rU4H0g1MHwbUN0cCc~&@L#}! z%ThgjovMPyfCY@E`vULoFjcE3912nrJqcRwZMNgI1H>S@aF`BN83xd z>JD9QkSI)X_;{+Pa(*v!t;JYwaO8Xw7ZwTpqq)n@&{t$h%?e(Lg}2ERR>ZM<;B393 zUebXr!6$Qj+D_?30Z57V(I&W z4!|Prwdm5RJJRj=rdGPVsk{W5={=l*Ocy?4L&#GU?kvNCyG-B+7N&vmBb#{1&>pX? z!)^rkz~B{%LSsos2%#BpaKA)8A;RiVDS{Unb}>xqhY^4NJ-UUkh11-5{EO^#kb>LD zD{_lN??I2n>qN<>6!sDy)`j{$ETG7(w&%hwG0o{XV+xsj1zw0E-RC2lMAuT< zx#Tru-q?Rz5n)*qgM~1sT(IE=eea95`#CQYsP-xnK*0WbhyolbpAbcXY;{kYAI@A8 z3@!DkOOf~T_t*xVsxKoE>{uv<3l=hrLIY~_Z^?blshx7{)&@-83F*?#=xp$te6Wa37nzD8|u_suw z4^A74&Uz;h`Wraxv79m(zKbBr?N* zc<9TkV8rPg;?EJcZYw0w@rLJLdmEhY+9&Uykm_e7h{=+HRU$a0IVa39FMm@B;G5>1o^fimOXKe%eoJs}m=44e9YpHgBw?l@Mn z0*l0ZqD2i9DR=~WPiNPkCy?@0q#OSNdr~~m=DJ*Qhu3v_ba5fZkWecf=J;ifRQHT_ zTZn?t*4JXbU4|rDI|8L2RrR0lzDU}Gfy;lwRuf&ov{gJryb9h+lqa+lX~_o^^xn=E zyrAz6BFY@mITSnBo^Zqo;dINX`(8~n?%T!-!TM1TrA7-nyl`n7O?CwUyTKkU$upKB z{Kb%}da-y@}5eec@Rs;6)Y8&nA3 z5?YwxOoXJb8n|RetX$D~4l)u|&d?(;@98v9ZhX?w?Ohd@=%6O;A7&~(2*zs3+&>e~ z0ZS%FYUi1?UsZMnG{%ZNj5J(p3NtT2ZM$@<8#*a5u=0?qbc4!9I*k!d=o)`8(#qgf z8aw@I=9(q^GPIZXK!n)}Ikow;dsgt8IS78crnD7@Ab&(FKZWqxxS)_$ecM)uF4xfN zNRkz;JH#}34K$l5@ete2{j8D%4SCm;cP;Mr3u*c)R6ST#ZEbaSgQ?%~YHDHPW-TK6p-qh@{+qb~O z1Mi{}Yl`j((uCfP@Gv z*>{EOikO^Bx|wr`M6o)lS(+G(DQ#x2^9{)-tbB{;>)-I{pL|^}S;VK&Dbbo-Aouz%uVx3+lp6e)vvz?s8^Fud zMQ@Rr8=#5LE75M@rJzA9B)>p_Wx9iVm<rA35$$%c+udFl!{)36$HU zQ?-xUprJv=K+$Jk4CV26=xyI|tv|eHpu3{_clR*78l^y}m!~N>uS~okCng5DYNU;? zhBOi(cO;!uqkW!(0@|>V9a^upGhNvGfixBir&U3hPLO{$2C{jbH2^VxG=abGGL#%|v+mVT^gbcEGZRotyo}i9l z=}w<1O%-X3P!}Y3&2gKKW*CKrEQNcTtI%{|(xP%HrbjR!Ps0X)>i z-Fn++J>MT?(bn7CJ6siUXn4es=zjyazwUM6)R5@+ny9Q}`?+-!9miGnFm}J!8lEQJ z0VVT5f`G*4Y2lOs)&TsNA!OCA`mBkd8s`FDb{>Y_`tpLQ|L^VrDJ+Jx5Asu*u*U`M zsoQ@8cuYj4yBDiKUjU#rEzst5k@Rg>#l)`ay<8V#3Q35kMd62A79YzbA=sw9+GReU~^ON zXC8L=qCg!!DdeE``nst5iww{uOv%k_lhK$AF87<&4wF=j^w{6-I%BXo6An}IwuKu!^w^@NQQuzw?J zfxYYm@pEj_D$Wzpy8%wro1Lg}lD5)J&IE~S_esr3;X!&XG9Ysg=jg^G6(L$J?lEcQ z_L29Q`zJVUpFY~HD;Gu0sZ~_z1KodFClQPIb_@sVVeB8Tys>@rtJ0&fB6}V0(mNCG zGPwR*1@4ag(*F7?DtQUB`sAzOe^NyFB`S)_GZN)Joz`$J-Td9Hi6pvXMwrI){QL35 zx*Z#k9O?hT@yxy3I}jNP!K|9anKpmJnLf?EQPFDX*KGZ<14sVt8AWEH%|n07&)tq> zb*z%Ze@KoMY&&UQ6mzszHBuyhJ#45qJsD+*6m!gwE2t6I#in#$o2+VU<^_ak!S! zGgenol5f+JyhW2p-cqEkIBnh31Xj)HCnoOQ9VgbDy?0O(u>pnnm!htDQ|%Ki^{?bo zCqc0q>m{sM)BtpGKmMq~^N4O7NN>(vrNN+WkV-_X|#1 zL$6>)uH11!?-t1CZgA4J?pDs^IlSB!FedIvA=nqwgsY{*@tdYyufmX*R4P1Lr2=R| zL$GM{@rY+_@In$M2LFHAxwo`Ck6w`8q1WYHCr(~aa|!EIkv~qHy`Zp)9uixfxOlN< zl68SNUE8HnLJfhzk-V3jwvj_8bx1H&ZzH0c&ps(VfnmNxc_GNtu@#f~)IDNXU)6LC z#7JN@)+rc{GB;9vQ`-HDGq-txO|}9!$d_62o!kN z&mmULWTuj#cKY|zNxcef(#lhbrQTzpqAwD_($5u}}SOq;qFoTi#; zUB1v#$iJBFqkD#FYd0tIeR011i>AQOM1XHz#KMG;R^><+#IBGI9rpgUi-F~PUXTxt za`{F>tDd{4$wnP^Ci1As>W~Y@%01-;27G_c&ECn0)#!ireY@vR4{h&sU)j*NX!-~8 z@rWGwID~wi_xZ3$Zf8W@@_e%r!0r;A%rO?>J&@+g3wv9s3OpIk0+IXPNiY-93(&(7 zRUBPc$x4O*t|n$ldjx~}51y+~W1W}?BDkdOd^xawP-*M2T8ikGBA0C>tktcR-~H-& zL3~GQTpfQ3)lERklmIV)da-Qr^#dOUP;Bw+57=TzLw3Olrh-=v*U=ZIzVa0l>hS^H zkzXme40v9nGp={)5!Jy1bTVfvne*DCLv*B2BTwSigAL#ENJ^QMBq2N%+jvI9BO4~o z+m1~66dE@e0de)mWX%U;sXOQH)SW$0SD+Y0Cu)D+5x|;YJv`A6#vKX8f1J+ZVW~!S zriH`t9&%!Sw6MRy4h$hCB?$7w5BXm>(?b{}@B<#m27bQ~t8_z^3erY6@4wsG{-D11 z)MStTNCpZn!mFkwvq+s<7koUc2}FF60>$YcfFg#f6v!3^t#I{iU-)~2{8NlpgS-ZY z$Y+1C%?VMGoGDiGm2T_s`h}7hWK}Q!ntEA>nqWKa5gr*{y5m<$1AcpgX=8W#YB!3- zD{U0ZSG}X`3Uy)I`8XE}x-y;Ve>g|Ps9&>%GRY{nozKE)VQbV03c|0nrR+>Az%;(n zzO{YT`_ZmIi|OVyp{XSusU$yo(srVIgra|b_0K3vT}jpXl2#V90PD|)n2^~t_7BsR3bR{pegSTV`NatQ48m$`ZHIbkmI!rBHlt8Xrx_^Jk zS3rJsmi`XrdsYf4#M8ljoXpz%Lh;|Q@oa6K${kp1rOFObs%9P>P-bsbIP2C0AGv$H zzo8zC9*?%aLhq88>JVX>-Tn$x0u$>H!f<)?OB^Y0R>uIPY8dsA6}}UK&ZbT;0HPf_<^?I2lA-~1r`{nskrH=yHpfwbcU+K!``>U`l}H2fq~3Xp&H(PLLVYqczk zU-F-(b8LLOTj4&Yq6K!{JD5Ux2?)yXB^0FIvre&xG`xg1BYLLeh}gG&5R(?5Lp_X* z^2TammHG+x0c47S zVt!6}ErQNt0*l4#yVI5+7A+~P0vnb$<%-j6~>13y|hCaEW({w|K-9=eZfaeA%L?xZY{%t?b$n6&>`Plmaual8C z@s^?ww-CS-bm-nNuzi?k50*@s=b}%<4c{RT`suE9#bu0oVTVCQ0zj{Rp$N$Rfle43 zKbYSgBbQ$-RP=w^s&)q{p3f?iueMb?vHx1i~7;W0att8_Y?o#{M5nN9iaJ%;NYU9Tf#aT>#8A*~+z1 z1|5a8kE?*VCSgp9^A2$2K=U|8JKLZ;&Ff!qa>N5Oj?aG%t*nIA8Pq1%0^LTwC76V( z7BLCeExlLYm4zMXO;R`v2d1X#mh<+|zw`uaxOPulf-UHQL_H)&RkcIi3WUjkUl%$Y zvpC|!XM?W`8bdzVGAvo}E!`1^CotR4D?%}6oK&^;+mzP0xygJxql1J8eY?p}CIevloMylo9T5I9}qyWDgh z8e$*przDxzDp`pT-GGce@mU+!@_UpYedD`yH8EwuIi9BUp${uT?q}|rw0F3t?LkZf z<%36IWUjp{R8jN_YasFEIkOIJ6m;Nz8J8-dD~<#38D6@?H@m_5_`3cZ-UFFh|8oTY z#Jztg*;(AWmqgv{a<6%`UlbAom-iIsF2NWJl}&%L}fLum3;Zd!x=KBy>{W@9wst!8ElX zFH6?gaDfZ<)U)$^M=Nvk#Oj0!3m=hL?WC^Uz;NDhk+g#4{n7sa@sSlpzd}N`T_}Hd zzps#1jvWv9lZLcL6mcmC)kI~Ds@`f^HG%gXuxg?*ZzNR{AC?-ed|eX+)xozaplbb@ zx6-D$-V|$l-TJ)Fl5K88o3KwL+MEj#NI~_XD!BO7#n&nzS^YyF4i>y4%UQ0*&PkZEN9zQX+`Jg{uYXSkDI zt!HAjws!~D27u?x*HwiOln7s|F#YwRt3A&D|5ouHW{>Ybs1&Y0ma+%=A6E8LII#34 zb8%>sIhUKv{@5mS?(3RhlR1Ako6O96-ZBekB(OT6RF=QLH}t<)HI5-G$XVm`aQ=(J zS!k;#*ZOVgVD_o;SVa1L!}R;skm~Pg-VZ6yliGMlJK>GvRJ76SP}zRR=1VHxA#Kp1 zv?1r~I$N(Ti1XH!)OjMei?*VFQ@LGieDM{i|^YZIg^6OrH zoylG)LV7P8z?mwaE2?~TkSZ_Sq1l~Y75jbI8u54S3)>>HfSVv@U-)`r9aoo+t09=FHXohZ?21a3l*_zarI*R?w~NCsLsc(Hn+e)-?!?KAhoaO+Me ziUsNSQSBN#-gE=|dZT~uPCJ@eab735My4jM;d~HGCY`uyP9MJN4o%+3d1k#pCn3yH z?1hKfoo$`0Bo77hKc=`HOLulh>e-6}M5pW2$HlGDLp;RVD;%o*P;G5z>|O&?^cg=b zomTEHIyNW)N&k`=-rP}slYlp|@?qR_5mKxSq}MO>VF?vH>1luKp_(GV;FpM77%2=~ z18}*ODLQ?o?=6Pb_l*`Na-#Pw&PeT3^m_jfd+j~+QTJCS0f>8jmvSGb*p*QqrRZ&< z`xFEp?hk-Sr)Ds4=zY*K{okRl@THm)0?L6{5pacDVz$Dsj_vkLTjmm`7E&LHaZi#7 z+azQtOr40|7t(*J6=EZ!H3F+lX%vq(nt&>?eC=J(R9wc(|}KF+ebF)z-ZEWjTQ z0Q{Z+PHw{W8^op8DAkQMcjGFn8@JqzMOHVK#U6J970wYWcr3><09}g0#x>(VnC54= zCWh{u(?HL>>JpvR`5Mj(aWUszA!*^-j}ltrlgCETlEXOHh1@?Yii+qV&c}_i7}k<7;++Q1JAc~zsrdiERQesf9Z7p zpPY#JXU80}EmT=roh++Wwz(uzKYWSP)67SftYy=%0~XheSR52cv}viG31JO1&ny0Q z$cd+{BUL|o3D(+wCwwEde3atf&q03iwbOqgx(?hW(0g!~K<6pN!x@MeO=Se^1Ky(G zkqKl;Yg27pu*9c#1eyX+!&~Au7F4lx9+@Ng@>d{|mOfy4L+#kUIe49OM~Qe@E!1ob1h1%oh8z*x{2aiV0?A zceuoX4$fZH6T97Il4_Y?clO8(#oDLgjopPkQtMYScOoB-Xza#Z;Az+0B$o95y!N=|O9=MVh=7xrT0y2#KnXBG2k`nEOIl%`{XqB(U;gv33dW*=}ME-V2 z;UG@Damj9l!vY!D7ljop{o*w^;CqVGBK@UVQ57dbTK7gl)*E=rt99*C$jyKHC-OS4 zWb&&okW^pu=0RM-KFuY30m5|OaQzYci4x+IkaP(^19?7aM0Zh9!!3;IdS`Npu*+Ys-iyb9@PKSfr0yrW~$Q&!FLt=DtF z_Kka6-nEDa0PX1&@&#-6n)!bM(AxAcyzE~T9c{^5psid)Hi3_ghY7;@pr z+20=sX~EmcP=t2TXZ^{#3_Fne_uRW9$4rP8@Ogh-7<1jP&iJ18$kB&Xwc`#~NMP+M ziN-_Fn|1Fe5{+@gdVmS((9T4TGeUSrW!_UoEa`K+0Uoa%D><}mNeX{~!^>0Df;`~I z(OvQ@-35DO5wK(7CAu99;f6Pu*~0JE4k}xnQ;*`?%nH}AG{R}=JR*e{bSLlb-DH1= z{W8lbbc%EL6KGU$Kc%Si=ip0ubGLK1EL_4eJHt62y15UH98DR`^}R-qbyyJslt2&i-oTtMo&>=^rP1~;xnxGP+kEh8Tso%WTS_VxcvyPS5T68Z0)_7P1x zh0cCn@wDfY(|#VDmkmu~Y@v{_!K+U(di$>9!aQf-p^T@_fe*C&rahq*}Xm*EPC{^y1C zeUpmt(87N(|I(sLK)9uKvVoBDO1_FM<&(@Jw`&xvF8r0$swFu*Xphfrss^nGY z(t|!GNuN=Mp&Y}X=?%n?{*m5b`w#R6e`}b3s40K=SH{_dh$JY%F`CYiH+@U)rpLpr zEYPc@+Lxmt_a=&`@+MqR+AGSO6GGtcg0K8;sNW5~vW-Tx9nqOYy1tQup3)6G(ho&R zUthTSeHBPXU^amQTJ(z;NI{<|qQiN0d&ppma2yx@79f*UtzV9Vv<|lqX23K_+Hz4G zx>$eiC}sQm;8mEkj1~x9^8H`lGaplC+v}-oB=11SKpB@4t1F9nV=8z6Dn#4HZrl%* zicE#5Z^Ff*a5!}5Xo2Z@GJ?#QBgmXl1esGW&0_ue@tq(aBICmbWb##!!C~_5O(X!r z2cvM)=q5Bzqq;z%(E3Y^A%8`qwaZe+{lUVgEqzqdP~jRq-(wT7CsR(j}!%-Mmf(Gu8>E&fQZh>*fQJbt$;Z z^Fk=Yn@sc2gPvF!ROUE2cYzv@8~3WD`&D-?gHuoTtk>tB_50i!vZGhji3|5ycY=S; z<_#$OwL8?=(LZrQ$$NLIlSdfTV?pVs?oy|tU42H$J9n;=yWmW8gKbUk=r)SGAb;Gs z`N{>>oL_ESyyPkX*U3yS_{u%V2Coq9+v^9xaHhG{FU2zT%^9pdhgGLjjrM9wfdA-0 zL8a&R-K`z|2idBrimAzD5kdbp69KpyX&L1YWhT)Ie_iAC)TEks?sUaU+0LU^TmJx|K0duX~} zERyo}3Q688AuI95x54Crw73|7dU)4^31CB6`IZ+O*|#c}_o>#(C_}7$>x+LBI~RnD z@%05s2?+p|FW9_GBXBVBmUnOlfA8WE~>*BU@U!8hIA6%FfWEnYp34 zYSSrxSG!oY_<9EKBN?l`r$nc`p5VZFBe?V^ET2$x4U@Ns(1GriJS>qT3QTvbHSnT> zyqhQY0*_44OK*VW<&#tt15$sBc~XIWyqa}^s#z68H6yNODylIy&H-I)Rs?D>^-i&# zNnu16XhFco+PXL%7y^6B=R+6-0>_gF;MQciow(oaJDIeX&`k`gMn;}Gi81GO+4luq ziFudR^$QdsriJr5sj|l)n_ars{gaN zV&@KF;a{qCb=*^#=r+Hcz};-Pl9$;;{O0hw`U73Yif!BLip;vfw@bL@%xoBa?|XX# zcv#RS@FXeV5;K;wz=^60zVryy{1w_W65{Q{TTD2O6#H?)*YZ)VNSWo~H9A3=(hr=% zt!S1(=s!pvFLu!K#*KgRe>3dl>k|;!Yvuwk!E9M`f_^|ZfpsmvB%@)G>sHxtv~yQj z04FYl$$|rz>PxLHB=!zo!{*|V13ECk&d|1Ix=v6sg=5e=StS2Ja!xQJza7EYb!bue z-(3_-rb-K@N_4Z~D+)H#!hqZ*=_a@|UBdmyvqp&63AB(D!ts9{=^R9?Qiw-WqdhM{ zyn6fo6JSvAIes(bdzcjvjD;1Dw$ zH^xm=Zonn1)JK01g}`3*+_&k_)r8b(f8y4lFl9F|?9^$2R_u9#jSHNU!pnuc0_DGS-h4`!(%Jxo^dBZtrnJGe}3=SphPvWRvOJlp6Qp zRuD~4yDH-Ne#1I;t(SY>-Gi1x8Ex}!Pmvbz0-6&*}6T9;Cmb^r3gH(@{Xa!MA<^4K{;9kUzd4jvva8 z!V|3S{_d0-i677J;qiwnw_medkb*^xU^T48@I8OaDRYFf4Y_+qYjU`uQ_OTZZTpc* z6Nx}l_#oVJ10)USE_p}8t?JEPVLD=Ppr^|S-xTE<+vF!wo6_BX9|Li-={Z;*USWM- z(#g~O@A`yGOgfEzsZR`Rf^ zU`~I6pk3AB69r?aeT`gu7fTLVprw1RZ(oEpQ$Q`J`V=~qoqI|~t8-aQ#}zTZmGtiz z*}=JwUBJ6%?j52hS5UJeI6zV#C~*9zdqV-=Z?Qv)&;jv%zycfh1izI}UwB`U-+JW6 z)yLL++_%Y{=jfq|US)z7<-wv#(zE(d>9ZiwYdBYGQyyZ;sO!ZY^z}%5t34|gJkfuh za<$dil~;E|*LRrv*1ho#kEc&wb7zk@9#Gxb0kQTc%)yvJsbIzsXkTFelWrEmEWuOH z#)J%>NW83l%8nKOk97=v0*a_Sh+>_5%j)FU*tLe#X)Fpa8WX&PdgJ^tk#LPz^l~O{ zoG#M|KyI66Dl2L>MxyOOj*hY%53Hss|5a+vCc}9o9 z$gevh_xSrE`a?FR9(Pey{$Wl`l%4VipGQ2G>qbP$jQZ3_k4&r(8{SeYnw+pl98SM# z*MU<$0WfxN-8>`v%^0Tnjg0TzQv|YbEFu2o^4w7?Q2wH=*~C04dyRIh7%0s+|=qy3xKlmdaf?omq1#Z#jxKaWcj}vPpuX5lg{- z#psE)64i5%Y(T0a0k$#+D zZ_M>NzBswcx80B=%WvC9@|Z$3Pf+mu?A1f!R|jb?`!OhI22 zVIv?@opj$1i+-nW>F{h!Xg289n=Q>{g&f65f2T(Wgr_`r^~_Af%^-gh<}@79v;2V9 zyV|p!CS?N;b8*{-d?A{|JO|)&0(#zX352~+*wt;H58f8HVPc*qfM?7e#5;!SR^qz$ z=!|ZA@6&3ylNYw%(DSe$k%An!Liz@g9r3~P^6Yz~cz{?#xBz=D%THmSgT=U^#uL6MV zeoVJR-yXk$-ge=8mkwndo6A(+e*4@So`BBq3L~{Khso%CFG|J@?BpCKqrB`|1dch3 zA$3Yd$)MFDT2&ii&c)Pc$UAeNL;%t$-C>(jL0qI&5TXe(XVcBQK1KGdEs2NY4Y&u# z<_F%^yXK%VVAg*=pRif`Vq(mVr*0thY%*XrIVqgD@AFrkdFLI>JOUHrr}wVgt2wuP z%^-=H!akCvQ}>NK!`%`&iPu+MZ37}$y1L%FvvvtkNTJ!yfyGBdD+n_JWJMbOY`{q3q>9lf(ZPbi$Q;Yz?DSd4NmWi>Hr>B;^JTE z*06T->_Wih2XG{_wk`DN4ABn9iCc=|#9>2gy_0a9yuXJoLlIY$h6AcX`^oxXlOP8Z zcNd8v7K8;NufjW`*`ayilhgjrUEIlxCCZp^BZqrm-PM!m z*oFgH4*7q?0(XtTbM2C2@s zsA7T1@~VR;o2f=;Rs20-_w(SvGAziEG2gVs=tqBh0JJSik(TonLi(*QH~$UsNTHAX zqI>&}B`^vqh&c_X4_?;+-aLS#nz|Wa6>)t79oHAYn)fD6t)s>r68mud-wW2>K(P3= z<&%IbN9)W4&fBS|ymnJz2&qzUC zXyY3c$n?-0p`|BZ7?L5|U+L3iY9!O*m{NGnz)V8Tc{qIMFer@6 zic;vztoFy(xqFJi!QEhYe9r!q{Y*?)8!k7=GG1NbG<2_@Wa76&K4hUlHusu^7&m{6 z0=G{Ft2W-+J>e)Wxb#VfZ`2q*1}T1`+Ftv#V~!p%h|3f$O4cJ-O~KYXE7M`jlaw#9 zck5$xTBkWADGbn}&G}>{Yp&!bqmrItR4|;a^Gdbov$JFvH70+0+k@J(KKAvs$1P{- z(>Nz&r;I5Wi3!E1#G2Qq^O5y6Quu!gYKapr>A55sBC79P5c-}-PTJ8~oo6Y{ zlNWDb*+G(-dH9$zA(JK8;j5?K1@39}vq!*`%30wS*F)#CK?gc-u??0B*%G9L^;>^4 z66%c>fZBUli_5hwOp#|gb}=I9DgCRu4S=Z9K!XL05>ScHLauPDS6k%Vx^#bH{1S2L z4bL_5y*4{qQUai%;yEwe{1X+fJI^)2c zFfIOwtW5Va>~}3sV3MBOao&HGYD^xV(3y(KOzVtHcZp0g?wtMQdKh6$%kR_UiftSumf#YzGqJ1@M1ag|!FO`FEs< zYA{EJ?2hwx^N5Uun}bNskEETYL-$wi-n|epih9o$(ZSYS(5u5~@~4v;m;)}{)3KZS z)_bIH{fV2Z^14V>POGU;c)%Kbwx3cpenE}5MYLj{6oajhO)_>riX_S}=Pn4A$bS{= z_sR?G`VZ{Ta)v{1@)dtGe6|gzbM2RykpQJFvKDWewXohJY7^9nU47)y8z$2N=Lv{X)K)^LPrmyR2n=PJvzYI@G-eMlqYqKF?qj&yk<#rxAbg2DGLRr=)tzzZ{+Y z13_hn1^YdEfyujLgTguaGOUo2jXlM5#JP0uW%U%}F9WBFvGy9lX>uaf+$aD=K)Sza zuF!Xni*w^b-s`<;ajr?oVw7|c8ajZ(K*k({D&)dhL*&VEp44ocLaVBt$t<|KOA3#e45gu053Qi{T}LL%WRDZciT z33$0f`|$=gzIR_}J;^g9y6qt*R0Y3XzM(XlV8ny{lVHbTqy4bou7%@MI6%JaZrDWn zi#~@wsTRs7c&z-^wIy>x!&jb>K72$Kj1N`d;gu;&yS~D}0oPrvOg_cylicP&4ZO9J}9I zG{u}^TNm!d8!6wuurmSaWlqsD8;lEAboUQkb9PJpJq0h)3lGo^LXQQC4`f?t?LVeJ z_yga;?E4L}53*-}-yMXMQ+RVU$=2K$(LdTg3dPj+Hf*Hm-zc5r#Zu7Wgt!&K$8=&b znV#VuEQ(b(5l5_F>HOSKIC8boh!3HP!FBFbd}-Z*EXYpOs5vj5z;b;56FkIoi2gZ$WF)7l-pv{4k$mzooIoH>Voiwt76h_Pw79+247$Sl?#W8GPH14ObK0T*U)K-6bp~Ety_d=FK_FC*m$|Z$*i9;7S-TRfgV*^B@mD&K!u$sK>M@x z=xqP2kfXaPgigrW`jZco_x+r_xPlJ;Z-aBbOP#DBF9~G{uF!`KoU9(YwJEr!4%`9_ zapaOYgJy5*_FiZ!8N)j7yGu{3>4$5%BP?ov#zDM;_bO{Pk`9ZH5d_r{&?UbRA`O_M zSFAt7e?{tNWd=td?(tF%=z54T*A_2?YPhXlAQ-xZqciM?X6x2 zwf{0PC|B+)Ysg_N*9Co;HBitZ{nPR#N%X$g+`wIXpX4P>iw;dcB$l_;d?*Cmd9?C> zI79==2*Q}o0a-p@BnyvwGegcj$0`Dvaiz_X$wu$ZgIVDQ=ytATV^ zgTe()>JW}}Av{SPJ1>x$c2gjoUS$aC+wj^adT~aOBL&n3&TA3Ng-5!4il zGORBEFEkt-RTvGh5m5)pJ8kUhW_X#MUJ^^Ka=dkHau72x*%odg^(;P=UdMiR8Q z&k0zJlXr6t$j#;H@2*RETsX~4t9)}>nl~OD4m!X~gW;4ieik0(%x;L8L4xXxi4!mN;7dLY&-)Oon7j5C^QEeaPYP9ayaB`?+g|BH-+gleOiMdk_?dMm^Z#lf5`*$wwp4*}!$K5L99JJ%sb6uAk5apNe5EKaM0`m_o_ zfKO?Cxfp=(e(#QPg&1Ccd6mH{L)ypp&9$3X!i(*zVJd4&_Y+ok^~+tO!oT8C%rVK4 zJ@8T4uQ0K^b&xu{*^u46I6!kp1&$DgH++d>jE$T76EcB}+&#_briv%OdUUpI3KLda z7FM`7H=%+m@h3anSf$VG@Hx?~KF7-zw}+6$*Rz<4Rz9_JKmB`uNkc@3pbuSto!-;Q zEI7hjB}Gn;IJy5|*SQA-*}pS_wt9w6`-Z=Z(xUc#5sCp;t`})@87uiII(6S?IRWOAzX{NKP6(2Ps+rJ z$B_XUZ;F5zJ4jvYp=vaCULAaP6&QE0X*S`!++m$a?PlfL>&EElwY+XDsji=qM|bSh z%E~3F1;ad$%=d+)Cb)j1FJA~g3quQ1tOw5jfe z&OqO;(%amB7PdKvVov&b40oVy#u$z4*6pu_){?&sV55H@0wHJzr|$_A^y%Wa(Hc3Y z720i^dw19-&}qfCdTdevx5CaHwSnb*9${#TMjKC+KAn;n@RXtvsPs+H2qJHIu7o4< z{hl_wI?os)x#u1r4k&!K_z{4EiZ3@~0wJgO9-BXZO!}_pRk$?stcG4gB?FMIOG8C+$`VQ+NIeICykO z^W1N0nq^O|jY8(qZ|wwnJ9i_zP0FZp-MF_h?Cjbzp&7HPL1X6*lwTHb$vzk Z!ln&NBVAj~fW9btw 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

    Zx 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