RCc#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"(c) David Johnson, 2014-2016djohnson.m@gmail.com experimentalPOSIXNone5I'Error handling for  HackerNewsAPIStories, comments, jobs, Ask HNs and even polls are just items. They're identified by their ids, which are unique integers, and live under  +https://hacker-news.firebaseio.com/v0/item/.9In the case of stories or polls, the total comment count.-A list of related pollopts, in display order.$The title of the story, poll or job..The story's score, or the votes for a pollopt.The URL of the story.!8The ids of the item's comments, in ranked display order.#(Creation date of the item, in Unix Time.%pThe item's parent. For comments, either another comment or the relevant story. For pollopts, the relevant poll.'true if the item is dead.)&The comment, story or poll text. HTML.+"The username of the item's author.-HThe type of item. One of "job", "story", "comment", "poll", or "pollopt"3true if the item is deleted.5The item's unique id.7/List of the user's stories, polls and comments.9+The user's optional self-description. HTML.;(Creation date of the user, in Unix Time.=PDelay in minutes between a comment's creation and its visibility to other users.?5The user's unique username. Case-sensitive. Required.AThe user's karma.C<Users are identified by case-sensitive ids, and live under  +https://hacker-news.firebaseio.com/v0/user/s. Only users that have public activity (comments or story submissions) on the site are available through the API.E5The user's unique username. Case-sensitive. Required.FPDelay in minutes between a comment's creation and its visibility to other users.G(Creation date of the user, in Unix Time.HThe user's karmaI+The user's optional self-description. HTML.J/List of the user's stories, polls and comments.K 0https://hacker-news.firebaseio.com/v0/jobstoriesM 1https://hacker-news.firebaseio.com/v0/showstoriesO 0https://hacker-news.firebaseio.com/v0/askstoriesQ 1https://hacker-news.firebaseio.com/v0/beststoriesS 0https://hacker-news.firebaseio.com/v0/newstoriesU 0https://hacker-news.firebaseio.com/v0/topstoriesW"The current largest item id is at  -https://hacker-news.firebaseio.com/v0/maxitem9. You can walk backward from here to discover all items.Y$The item and profile changes are at -https://hacker-news.firebaseio.com/v0/updates[Updated s\Updated +si  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh]  !"#$%&'()*+,-1./023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\iYZ[\hgfWXUVSTQROPMNKLCDEFGHIJedcAB?@=>;<9:785634-./012ba`+,)*'(%&#$!"  _^]+  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh(c) David Johnson, 2014-2016djohnson.m@gmail.com experimentalPOSIXNone!",59;DIQRT Custom combinator for appending '.json' to  queryHackerNews API#HN BaseURL$'Convert ServantError to HackerNewsError Retrieve  Retrieve C Retrieve W Retrieve U Retrieve S Retrieve Q Retrieve O Retrieve M  Retrieve K! Retrieve Y"Custom combinator % instance#$& !'()*+,-./0"i  !"#$%&'()*+,-1./023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ !i ! CDEFGHIJYZ[\WXUVSTQROPMNKL?@5634-./012+,#$)*'(%&!" =>;<AB9:78#$& !'()*+,-./0"1        !!""##$%&'()**++,,--..//00112234567899::;;<<==>>??@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     )hackernews-1.1.0.0-9Dvz2woor908SM9yPEvt7KWeb.HackerNews.TypesWeb.HackerNewsHackerNewsErrorNotFoundFailureResponseErrorHNConnectionErrorDecodeFailureErrorInvalidContentTypeHeaderErrorUnsupportedContentTypeErrorItemitemId itemDeleteditemTypeitemByitemTimeitemTextitemDead itemParentitemKidsitemURL itemScore itemTitle itemPartsitemDescendants DescendantsPartsTitleScoreURLKidsTimeParentDeadItemTextUserNameItemTypeJobStoryCommentPollPollOptDeletedItemId SubmittedAboutCreatedDelayUserIdKarmaUseruserId userDelay userCreated userKarma userAbout userSubmitted JobStories ShowStories AskStories BestStories NewStories TopStoriesMaxItemUpdatesitemsprofiles$fFromJSONItem $fToJSONItem$fArbitraryItem$fFromJSONItemType$fToJSONItemType$fArbitraryItemType$fFromJSONUser $fToJSONUser$fArbitraryUser$fArbitraryUpdates$fFromJSONUpdates$fToJSONUpdates $fShowKarma $fEqKarma $fToJSONKarma$fFromJSONKarma$fGenericKarma$fArbitraryKarma $fShowUserId $fEqUserId$fToJSONUserId$fFromJSONUserId$fToHttpApiDataUserId$fGenericUserId$fArbitraryUserId $fShowDelay $fEqDelay $fToJSONDelay$fFromJSONDelay$fGenericDelay$fArbitraryDelay $fShowCreated $fEqCreated$fToJSONCreated$fFromJSONCreated$fGenericCreated$fArbitraryCreated $fShowAbout $fEqAbout $fToJSONAbout$fFromJSONAbout$fGenericAbout$fArbitraryAbout $fShowItemId $fEqItemId$fToJSONItemId$fFromJSONItemId$fToHttpApiDataItemId$fGenericItemId$fArbitraryItemId$fShowSubmitted $fEqSubmitted$fToJSONSubmitted$fFromJSONSubmitted$fGenericSubmitted$fArbitrarySubmitted $fShowUser$fEqUser $fGenericUser$fShowJobStories$fEqJobStories$fToJSONJobStories$fFromJSONJobStories$fGenericJobStories$fArbitraryJobStories$fShowShowStories$fEqShowStories$fToJSONShowStories$fFromJSONShowStories$fGenericShowStories$fArbitraryShowStories$fShowAskStories$fEqAskStories$fToJSONAskStories$fFromJSONAskStories$fGenericAskStories$fArbitraryAskStories$fShowBestStories$fEqBestStories$fToJSONBestStories$fFromJSONBestStories$fGenericBestStories$fArbitraryBestStories$fShowNewStories$fEqNewStories$fToJSONNewStories$fFromJSONNewStories$fGenericNewStories$fArbitraryNewStories$fShowTopStories$fEqTopStories$fToJSONTopStories$fFromJSONTopStories$fGenericTopStories$fArbitraryTopStories $fShowMaxItem $fEqMaxItem$fToJSONMaxItem$fFromJSONMaxItem$fGenericMaxItem$fArbitraryMaxItem $fShowDeleted $fEqDeleted$fToJSONDeleted$fFromJSONDeleted$fGenericDeleted$fArbitraryDeleted$fShowItemType $fEqItemType$fGenericItemType$fEnumItemType$fShowUserName $fEqUserName$fToJSONUserName$fFromJSONUserName$fGenericUserName$fArbitraryUserName $fShowUpdates $fEqUpdates$fGenericUpdates$fShowItemText $fEqItemText$fToJSONItemText$fFromJSONItemText$fGenericItemText$fArbitraryItemText $fShowDead$fEqDead $fToJSONDead$fFromJSONDead $fGenericDead$fArbitraryDead $fShowParent $fEqParent$fToJSONParent$fFromJSONParent$fGenericParent$fArbitraryParent $fShowTime$fEqTime $fToJSONTime$fFromJSONTime $fGenericTime$fArbitraryTime $fShowKids$fEqKids $fToJSONKids$fFromJSONKids $fGenericKids$fArbitraryKids $fShowURL$fEqURL $fToJSONURL $fFromJSONURL $fGenericURL$fArbitraryURL $fShowScore $fEqScore $fToJSONScore$fFromJSONScore$fGenericScore$fArbitraryScore $fShowTitle $fEqTitle $fToJSONTitle$fFromJSONTitle$fGenericTitle$fArbitraryTitle $fShowParts $fEqParts $fToJSONParts$fFromJSONParts$fGenericParts$fArbitraryParts$fShowDescendants$fEqDescendants$fToJSONDescendants$fFromJSONDescendants$fGenericDescendants$fArbitraryDescendants $fShowItem$fEqItem $fGenericItem$fShowHackerNewsError$fEqHackerNewsError HackerCapture HackerNewsAPIgetItemgetUser getMaxItem getTopStories getNewStoriesgetBestStories getAskStoriesgetShowStories getJobStories getUpdates$fHasClientTYPE:> hackerNewsURLtoError-servant-client-0.9.0.1-8elVGBIkA7k2JGgO1jYbk6Servant.Client HasClient mkClientEnvgetItem'getUser' getMaxItem'getTopStories'getNewStories'getBestStories'getAskStories'getShowStories'getJobStories' getUpdates'