{"version":3,"sources":["webpack:///./src/components/global/RitualButton.js","webpack:///./node_modules/marked/lib/marked.js"],"names":["StyledButton","styled","MagicLink","Color","ritualBlue","responsive","sm","ritualYellow","white","rgba","StyledTextWrapper","div","StyledText","span","Font","circular","rem","md","AppendText","MagicButton","render","this","props","to","state","href","children","className","target","title","append","onClick","ariaLabel","id","disabled","settings","React","Component","module","exports","_defineProperties","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","isArray","minLen","n","prototype","toString","call","slice","constructor","name","from","test","_unsupportedIterableToArray","done","value","TypeError","next","bind","defaults","fn","createCommonjsModule","getDefaults","baseUrl","breaks","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","unescapeTest","unescape","html","replace","_","toLowerCase","charAt","String","fromCharCode","parseInt","substring","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","protocol","domain","resolveUrl","base","rtrim","relativeBase","indexOf","str","c","invert","l","suffLen","currChar","substr","helpers","encode","regex","opt","source","obj","val","getRegex","RegExp","prot","decodeURIComponent","e","encodeURI","exec","arguments","hasOwnProperty","tableRow","count","cells","match","offset","escaped","curr","split","splice","push","trim","b","level","console","warn","pattern","result","defaults$1","rtrim$1","splitCells$1","_escape","findClosingBracket$1","outputLink","cap","link","raw","text","type","Tokenizer_1","Tokenizer","options","_proto","space","src","rules","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","map","node","matchIndentInNode","join","indentCodeCompensation","lang","heading","trimmed","depth","nptable","item","header","align","hr","blockquote","list","bcurr","bnext","addBack","loose","istask","ischecked","bull","isordered","ordered","start","items","itemMatch","listItemStart","undefined","task","checked","pre","def","tag","table","lheading","paragraph","escape","inline","inLink","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","_escapes","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","nextChar","punctuation","rDelim","rLength","lLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","Math","min","index","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","tokens","url","prevCapZero","_backpedal","inlineText","noopTest$1","edit$1","merge$1","_paragraph","_label","_title","bullet","_tag","_comment","normal","reflinkSearch","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","defaults$2","block$1","inline$1","repeatString$1","out","charCodeAt","random","Lexer_1","Lexer","create","lex","lexInline","inlineTokens","Constructor","protoProps","staticProps","blockTokens","top","token","lastToken","errMsg","error","Error","j","k","l2","row","keepPrevChar","keys","includes","lastIndexOf","_lastToken","_lastToken2","get","defaults$3","cleanUrl$1","escape$1","Renderer_1","Renderer","_code","infostring","quote","_html","slugger","slug","body","listitem","checkbox","tablerow","content","tablecell","flags","image","_text","TextRenderer_1","TextRenderer","Slugger_1","Slugger","seen","serialize","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","defaults$4","unescape$1","Parser_1","Parser","textRenderer","parse","parseInline","l3","cell","itemBody","unshift","merge$2","checkSanitizeDeprecation$1","escape$2","defaults$5","marked","callback","err","pending","setTimeout","_tokens","message","setOptions","use","extension","opts","_loop","prop","prevRenderer","_len","args","_key","ret","apply","_loop2","prevTokenizer","_len2","_key2","_step","_iterator","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","parser","lexer","factory"],"mappings":"qhBAUA,IAAMA,EAAeC,YAAOC,KAAV,6EAAGD,CAAH,iqDAMIE,IAAMC,WACND,IAAMC,WASxBC,IAAWC,GAhBG,KAuCZD,IAAWC,GAvCC,KA6CEH,IAAMI,aACFJ,IAAMI,aAGfJ,IAAMC,WAGOD,IAAMC,WAOZD,IAAMK,MACFL,IAAMK,MAGfL,IAAMC,WAGOD,IAAMC,WASvBD,IAAMC,WAGOD,IAAMC,WAQjBD,IAAMC,WAKGD,IAAMI,aAEjBJ,IAAMC,WAGJD,IAAMC,WAGOD,IAAMC,WAMRD,IAAMC,WAGfD,IAAMK,MAGOL,IAAMK,MAMVL,IAAMC,WAGfD,IAAMK,MAGOL,IAAMK,MAYVL,IAAMC,WACND,IAAMC,WAcRK,YAAKN,IAAMC,WAAY,KAGhCD,IAAMC,WAIKD,IAAMC,WAOJD,IAAMC,YAM5BM,EAAoBT,IAAOU,IAAV,kFAAGV,CAAH,uFAOjBW,EAAaX,IAAOY,KAAV,2EAAGZ,CAAH,mUACZa,IAAKC,SACMC,YAAI,IACFA,YAAI,IAEVb,IAAMK,MAOAQ,YAAI,IACFA,YAAI,IASNA,YAAI,IACFA,YAAI,IAEjBX,IAAWY,GAzBD,IA0BGD,YAAI,IACFA,YAAI,KAKZb,IAAMC,WAGJD,IAAMC,WAGOD,IAAMC,YAM5Bc,EAAajB,IAAOY,KAAV,2EAAGZ,CAAH,mWAEZa,IAAKC,SACMC,YAAI,IACFA,YAAI,IAEVb,IAAMK,MAMAQ,YAAI,IACFA,YAAI,IAeCb,IAAMK,OAMTW,E,0FACnBC,OAAA,WAAU,IAAD,EAcHC,KAAKC,MAZPC,EAFK,EAELA,GACAC,EAHK,EAGLA,MACAC,EAJK,EAILA,KACAC,EALK,EAKLA,SACAC,EANK,EAMLA,UACAC,EAPK,EAOLA,OACAC,EARK,EAQLA,MACAC,EATK,EASLA,OACAC,EAVK,EAULA,QACAC,EAXK,EAWLA,UACAC,EAZK,EAYLA,GACAC,EAbK,EAaLA,SAGEA,IACFP,GAAeA,GAAa,IAAnB,aAGX,IAAIQ,EAAW,CACbZ,KACAC,QACAC,OACAI,QACAD,SACAD,YACAK,YACAC,MAOF,OAJIF,IACFI,EAASJ,QAAUG,EAAW,KAAOH,GAIrC,kBAAC/B,EAAD,eAAciC,GAAIA,GAAQE,GACxB,kBAACzB,EAAD,KACE,kBAACE,EAAD,CAAYe,UAAWA,GAAYD,GAClCI,GAAU,kBAACZ,EAAD,CAAYS,UAAWA,GAAYG,M,GAxCfM,IAAMC,Y,qBC9PkBC,EAAOC,QAC/D,WACP,aAEA,SAASC,EAAkBZ,EAAQN,GACjC,IAAK,IAAImB,EAAI,EAAGA,EAAInB,EAAMoB,OAAQD,IAAK,CACrC,IAAIE,EAAarB,EAAMmB,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAepB,EAAQe,EAAWM,IAAKN,IAmBlD,SAASO,EAAkBC,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAIT,UAAQU,EAAMD,EAAIT,QAE/C,IAAK,IAAID,EAAI,EAAGY,EAAO,IAAIC,MAAMF,GAAMX,EAAIW,EAAKX,IAC9CY,EAAKZ,GAAKU,EAAIV,GAGhB,OAAOY,EAGT,SAASE,EAAgCC,EAAGC,GAC1C,IAAIC,EAEJ,GAAsB,oBAAXC,QAAgD,MAAtBH,EAAEG,OAAOC,UAAmB,CAC/D,GAAIN,MAAMO,QAAQL,KAAOE,EAvB7B,SAAqCF,EAAGM,GACtC,GAAKN,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAON,EAAkBM,EAAGM,GACvD,IAAIC,EAAIhB,OAAOiB,UAAUC,SAASC,KAAKV,GAAGW,MAAM,GAAI,GAEpD,MADU,WAANJ,GAAkBP,EAAEY,cAAaL,EAAIP,EAAEY,YAAYC,MAC7C,QAANN,GAAqB,QAANA,EAAoBT,MAAMgB,KAAKd,GACxC,cAANO,GAAqB,2CAA2CQ,KAAKR,GAAWb,EAAkBM,EAAGM,QAAzG,GAiBgCU,CAA4BhB,KAAOC,GAAkBD,GAAyB,iBAAbA,EAAEd,OAAqB,CAChHgB,IAAIF,EAAIE,GACZ,IAAIjB,EAAI,EACR,OAAO,WACL,OAAIA,GAAKe,EAAEd,OAAe,CACxB+B,MAAM,GAED,CACLA,MAAM,EACNC,MAAOlB,EAAEf,OAKf,MAAM,IAAIkC,UAAU,yIAItB,OADAjB,EAAKF,EAAEG,OAAOC,aACJgB,KAAKC,KAAKnB,GAUtB,IAAIoB,EAPJ,SAA8BC,GAC5B,IAAIzC,EAAS,CACXC,QAAS,IAEX,OAAOwC,EAAGzC,EAAQA,EAAOC,SAAUD,EAAOC,QAG7ByC,EAAqB,SAAU1C,GAC5C,SAAS2C,IACP,MAAO,CACLC,QAAS,KACTC,QAAQ,EACRC,KAAK,EACLC,WAAW,EACXC,aAAc,GACdC,UAAW,KACXC,WAAY,YACZC,QAAQ,EACRC,UAAU,EACVC,SAAU,KACVC,UAAU,EACVC,UAAW,KACXC,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,UAAW,KACXC,WAAY,KACZC,OAAO,GAQX7D,EAAOC,QAAU,CACfuC,SA3BO,CACLI,QAAS,KACTC,QAAQ,EACRC,KAAK,EACLC,WAAW,EACXC,aAAc,GACdC,UAAW,KACXC,WAAY,YACZC,QAAQ,EACRC,UAAU,EACVC,SAAU,KACVC,UAAU,EACVC,UAAW,KACXC,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,UAAW,KACXC,WAAY,KACZC,OAAO,GAUTlB,YAAaA,EACbmB,eAPF,SAAwBC,GACtB/D,EAAOC,QAAQuC,SAAWuB,OAa1BC,EAAa,UACbC,EAAgB,WAChBC,EAAqB,qBACrBC,EAAwB,sBACxBC,EAAqB,CACvB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SAGHC,EAAuB,SAA8BC,GACvD,OAAOF,EAAmBE,IAiBxBC,EAAe,6CAEnB,SAASC,EAASC,GAEhB,OAAOA,EAAKC,QAAQH,GAAc,SAAUI,EAAGlD,GAE7C,MAAU,WADVA,EAAIA,EAAEmD,eACoB,IAEN,MAAhBnD,EAAEoD,OAAO,GACY,MAAhBpD,EAAEoD,OAAO,GAAaC,OAAOC,aAAaC,SAASvD,EAAEwD,UAAU,GAAI,KAAOH,OAAOC,cAActD,EAAEwD,UAAU,IAG7G,MAIX,IAAIC,EAAQ,eAmBRC,EAAsB,UACtBC,EAAuB,gCA8BvBC,EAAW,GACXC,EAAa,mBACbC,EAAW,oBACXC,EAAS,4BAEb,SAASC,EAAWC,EAAMvG,GACnBkG,EAAS,IAAMK,KAIdJ,EAAWrD,KAAKyD,GAClBL,EAAS,IAAMK,GAAQA,EAAO,IAE9BL,EAAS,IAAMK,GAAQC,EAAMD,EAAM,KAAK,IAK5C,IAAIE,GAAsC,KAD1CF,EAAOL,EAAS,IAAMK,IACEG,QAAQ,KAEhC,MAA6B,OAAzB1G,EAAK8F,UAAU,EAAG,GAChBW,EACKzG,EAGFuG,EAAKhB,QAAQa,EAAU,MAAQpG,EACV,MAAnBA,EAAK0F,OAAO,GACjBe,EACKzG,EAGFuG,EAAKhB,QAAQc,EAAQ,MAAQrG,EAE7BuG,EAAOvG,EAoElB,SAASwG,EAAMG,EAAKC,EAAGC,GACrB,IAAIC,EAAIH,EAAI1F,OAEZ,GAAU,IAAN6F,EACF,MAAO,GAMT,IAFA,IAAIC,EAAU,EAEPA,EAAUD,GAAG,CAClB,IAAIE,EAAWL,EAAIjB,OAAOoB,EAAIC,EAAU,GAExC,GAAIC,IAAaJ,GAAMC,EAEhB,IAAIG,IAAaJ,IAAKC,EAG3B,MAFAE,SAFAA,IAQJ,OAAOJ,EAAIM,OAAO,EAAGH,EAAIC,GAuD3B,IAAIG,EAlQJ,SAAgB5B,EAAM6B,GACpB,GAAIA,GACF,GAAItC,EAAW/B,KAAKwC,GAClB,OAAOA,EAAKC,QAAQT,EAAeI,QAGrC,GAAIH,EAAmBjC,KAAKwC,GAC1B,OAAOA,EAAKC,QAAQP,EAAuBE,GAI/C,OAAOI,GAuPL4B,EAEQ7B,EAFR6B,EAlOJ,SAAcE,EAAOC,GACnBD,EAAQA,EAAME,QAAUF,EACxBC,EAAMA,GAAO,GACb,IAAIE,EAAM,CACRhC,QAAS,SAAiB3C,EAAM4E,GAI9B,OAFAA,GADAA,EAAMA,EAAIF,QAAUE,GACVjC,QAAQQ,EAAO,MACzBqB,EAAQA,EAAM7B,QAAQ3C,EAAM4E,GACrBD,GAETE,SAAU,WACR,OAAO,IAAIC,OAAON,EAAOC,KAG7B,OAAOE,GAoNLL,EA9MJ,SAAkB/C,EAAUoC,EAAMvG,GAChC,GAAImE,EAAU,CACZ,IAAIwD,EAEJ,IACEA,EAAOC,mBAAmBvC,EAASrF,IAAOuF,QAAQS,EAAqB,IAAIP,cAC3E,MAAOoC,GACP,OAAO,KAGT,GAAoC,IAAhCF,EAAKjB,QAAQ,gBAAsD,IAA9BiB,EAAKjB,QAAQ,cAAgD,IAA1BiB,EAAKjB,QAAQ,SACvF,OAAO,KAIPH,IAASN,EAAqBnD,KAAK9C,KACrCA,EAAOsG,EAAWC,EAAMvG,IAG1B,IACEA,EAAO8H,UAAU9H,GAAMuF,QAAQ,OAAQ,KACvC,MAAOsC,GACP,OAAO,KAGT,OAAO7H,GAqLLkH,EA7IW,CACba,KAAM,cA4IJb,EAzIJ,SAAeK,GAKb,IAJA,IACIpH,EACAqB,EAFAR,EAAI,EAIDA,EAAIgH,UAAU/G,OAAQD,IAG3B,IAAKQ,KAFLrB,EAAS6H,UAAUhH,GAGbM,OAAOiB,UAAU0F,eAAexF,KAAKtC,EAAQqB,KAC/C+F,EAAI/F,GAAOrB,EAAOqB,IAKxB,OAAO+F,GA0HLL,EAvHJ,SAAoBgB,EAAUC,GAG5B,IAiBIC,EAjBMF,EAAS3C,QAAQ,OAAO,SAAU8C,EAAOC,EAAQ3B,GAIzD,IAHA,IAAI4B,GAAU,EACVC,EAAOF,IAEFE,GAAQ,GAAmB,OAAd7B,EAAI6B,IACxBD,GAAWA,EAGb,OAAIA,EAGK,IAGA,QAGKE,MAAM,OAClBzH,EAAI,EAER,GAAIoH,EAAMnH,OAASkH,EACjBC,EAAMM,OAAOP,QAEb,KAAOC,EAAMnH,OAASkH,GACpBC,EAAMO,KAAK,IAIf,KAAO3H,EAAIoH,EAAMnH,OAAQD,IAEvBoH,EAAMpH,GAAKoH,EAAMpH,GAAG4H,OAAOrD,QAAQ,QAAS,KAG9C,OAAO6C,GAmFLlB,EASKV,EATLU,EApDJ,SAA4BP,EAAKkC,GAC/B,IAA2B,IAAvBlC,EAAID,QAAQmC,EAAE,IAChB,OAAQ,EAOV,IAJA,IAAI/B,EAAIH,EAAI1F,OACR6H,EAAQ,EACR9H,EAAI,EAEDA,EAAI8F,EAAG9F,IACZ,GAAe,OAAX2F,EAAI3F,GACNA,SACK,GAAI2F,EAAI3F,KAAO6H,EAAE,GACtBC,SACK,GAAInC,EAAI3F,KAAO6H,EAAE,MACtBC,EAEY,EACV,OAAO9H,EAKb,OAAQ,GA6BNkG,EA1BJ,SAAkCG,GAC5BA,GAAOA,EAAIlD,WAAakD,EAAIhD,QAC9B0E,QAAQC,KAAK,4MAwBb9B,EAnBJ,SAAsB+B,EAASd,GAC7B,GAAIA,EAAQ,EACV,MAAO,GAKT,IAFA,IAAIe,EAAS,GAENf,EAAQ,GACD,EAARA,IACFe,GAAUD,GAGZd,IAAU,EACVc,GAAWA,EAGb,OAAOC,EAASD,GAiBdE,EAAa9F,EAASA,SACtB+F,EAAUlC,EACVmC,EAAenC,EACfoC,EAAUpC,EACVqC,EAAuBrC,EAE3B,SAASsC,EAAWC,EAAKC,EAAMC,GAC7B,IAAI3J,EAAO0J,EAAK1J,KACZI,EAAQsJ,EAAKtJ,MAAQkJ,EAAQI,EAAKtJ,OAAS,KAC3CwJ,EAAOH,EAAI,GAAGlE,QAAQ,cAAe,MAEzC,MAAyB,MAArBkE,EAAI,GAAG/D,OAAO,GACT,CACLmE,KAAM,OACNF,IAAKA,EACL3J,KAAMA,EACNI,MAAOA,EACPwJ,KAAMA,GAGD,CACLC,KAAM,QACNF,IAAKA,EACL3J,KAAMA,EACNI,MAAOA,EACPwJ,KAAMN,EAAQM,IAkCpB,IAAIE,EAA2B,WAC7B,SAASC,EAAUC,GACjBpK,KAAKoK,QAAUA,GAAWb,EAG5B,IAAIc,EAASF,EAAUxH,UA2pBvB,OAzpBA0H,EAAOC,MAAQ,SAAeC,GAC5B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMC,QAAQvC,KAAKoC,GAExC,GAAIV,EACF,OAAIA,EAAI,GAAGxI,OAAS,EACX,CACL4I,KAAM,QACNF,IAAKF,EAAI,IAIN,CACLE,IAAK,OAKXM,EAAOM,KAAO,SAAcJ,GAC1B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAME,KAAKxC,KAAKoC,GAErC,GAAIV,EAAK,CACP,IAAIG,EAAOH,EAAI,GAAGlE,QAAQ,YAAa,IACvC,MAAO,CACLsE,KAAM,OACNF,IAAKF,EAAI,GACTe,eAAgB,WAChBZ,KAAOhK,KAAKoK,QAAQ/F,SAAiC2F,EAAtBR,EAAQQ,EAAM,SAKnDK,EAAOQ,OAAS,SAAgBN,GAC9B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMI,OAAO1C,KAAKoC,GAEvC,GAAIV,EAAK,CACP,IAAIE,EAAMF,EAAI,GACVG,EAxEV,SAAgCD,EAAKC,GACnC,IAAIc,EAAoBf,EAAItB,MAAM,iBAElC,GAA0B,OAAtBqC,EACF,OAAOd,EAGT,IAAIe,EAAeD,EAAkB,GACrC,OAAOd,EAAKnB,MAAM,MAAMmC,KAAI,SAAUC,GACpC,IAAIC,EAAoBD,EAAKxC,MAAM,QAEnC,OAA0B,OAAtByC,EACKD,EAGUC,EAAkB,GAEpB7J,QAAU0J,EAAa1J,OAC/B4J,EAAKnI,MAAMiI,EAAa1J,QAG1B4J,KACNE,KAAK,MAkDOC,CAAuBrB,EAAKF,EAAI,IAAM,IACjD,MAAO,CACLI,KAAM,OACNF,IAAKA,EACLsB,KAAMxB,EAAI,GAAKA,EAAI,GAAGb,OAASa,EAAI,GACnCG,KAAMA,KAKZK,EAAOiB,QAAU,SAAiBf,GAChC,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMa,QAAQnD,KAAKoC,GAExC,GAAIV,EAAK,CACP,IAAIG,EAAOH,EAAI,GAAGb,OAElB,GAAI,KAAK9F,KAAK8G,GAAO,CACnB,IAAIuB,EAAU/B,EAAQQ,EAAM,KAExBhK,KAAKoK,QAAQ/F,SACf2F,EAAOuB,EAAQvC,OACLuC,IAAW,KAAKrI,KAAKqI,KAE/BvB,EAAOuB,EAAQvC,QAInB,MAAO,CACLiB,KAAM,UACNF,IAAKF,EAAI,GACT2B,MAAO3B,EAAI,GAAGxI,OACd2I,KAAMA,KAKZK,EAAOoB,QAAU,SAAiBlB,GAChC,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMgB,QAAQtD,KAAKoC,GAExC,GAAIV,EAAK,CACP,IAAI6B,EAAO,CACTzB,KAAM,QACN0B,OAAQlC,EAAaI,EAAI,GAAGlE,QAAQ,eAAgB,KACpDiG,MAAO/B,EAAI,GAAGlE,QAAQ,aAAc,IAAIkD,MAAM,UAC9CL,MAAOqB,EAAI,GAAKA,EAAI,GAAGlE,QAAQ,MAAO,IAAIkD,MAAM,MAAQ,GACxDkB,IAAKF,EAAI,IAGX,GAAI6B,EAAKC,OAAOtK,SAAWqK,EAAKE,MAAMvK,OAAQ,CAC5C,IACID,EADA8F,EAAIwE,EAAKE,MAAMvK,OAGnB,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IACb,YAAY8B,KAAKwI,EAAKE,MAAMxK,IAC9BsK,EAAKE,MAAMxK,GAAK,QACP,aAAa8B,KAAKwI,EAAKE,MAAMxK,IACtCsK,EAAKE,MAAMxK,GAAK,SACP,YAAY8B,KAAKwI,EAAKE,MAAMxK,IACrCsK,EAAKE,MAAMxK,GAAK,OAEhBsK,EAAKE,MAAMxK,GAAK,KAMpB,IAFA8F,EAAIwE,EAAKlD,MAAMnH,OAEVD,EAAI,EAAGA,EAAI8F,EAAG9F,IACjBsK,EAAKlD,MAAMpH,GAAKqI,EAAaiC,EAAKlD,MAAMpH,GAAIsK,EAAKC,OAAOtK,QAG1D,OAAOqK,KAKbrB,EAAOwB,GAAK,SAAYtB,GACtB,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMoB,GAAG1D,KAAKoC,GAEnC,GAAIV,EACF,MAAO,CACLI,KAAM,KACNF,IAAKF,EAAI,KAKfQ,EAAOyB,WAAa,SAAoBvB,GACtC,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMqB,WAAW3D,KAAKoC,GAE3C,GAAIV,EAAK,CACP,IAAIG,EAAOH,EAAI,GAAGlE,QAAQ,WAAY,IACtC,MAAO,CACLsE,KAAM,aACNF,IAAKF,EAAI,GACTG,KAAMA,KAKZK,EAAO0B,KAAO,SAAcxB,GAC1B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMsB,KAAK5D,KAAKoC,GAErC,GAAIV,EAAK,CACP,IAcI6B,EACApB,EACA0B,EACAC,EACAC,EACAC,EACAC,EACAC,EArBAtC,EAAMF,EAAI,GACVyC,EAAOzC,EAAI,GACX0C,EAAYD,EAAKjL,OAAS,EAC1B0K,EAAO,CACT9B,KAAM,OACNF,IAAKA,EACLyC,QAASD,EACTE,MAAOF,GAAaD,EAAKxJ,MAAM,GAAI,GAAK,GACxCqJ,OAAO,EACPO,MAAO,IAGLC,EAAY9C,EAAI,GAAGpB,MAAMzI,KAAKwK,MAAMC,MAAMiB,MAC1CnI,GAAO,EASP2D,EAAIyF,EAAUtL,OAClB2K,EAAQhM,KAAKwK,MAAMC,MAAMmC,cAAczE,KAAKwE,EAAU,IAEtD,IAAK,IAAIvL,EAAI,EAAGA,EAAI8F,EAAG9F,IAAK,CAK1B,GAHA2I,EADA2B,EAAOiB,EAAUvL,GAIbA,IAAM8F,EAAI,EAAG,CAGf,GAFA+E,EAAQjM,KAAKwK,MAAMC,MAAMmC,cAAczE,KAAKwE,EAAUvL,EAAI,IAErDpB,KAAKoK,QAAQ/F,SAAsE4H,EAAM,GAAG5K,OAAS2K,EAAM,GAAG3K,OAAtF4K,EAAM,GAAG5K,OAAS2K,EAAM,GAAG3K,QAAU4K,EAAM,GAAG5K,OAAS,EAAuC,CAEzHsL,EAAU7D,OAAO1H,EAAG,EAAGuL,EAAUvL,GAAK,KAAOuL,EAAUvL,EAAI,IAC3DA,IACA8F,IACA,WAGClH,KAAKoK,QAAQ/F,UAAYrE,KAAKoK,QAAQ1F,WAAauH,EAAM,GAAGA,EAAM,GAAG5K,OAAS,KAAOiL,EAAKA,EAAKjL,OAAS,GAAKkL,KAAmC,IAApBN,EAAM,GAAG5K,WACpI6K,EAAUS,EAAU7J,MAAM1B,EAAI,GAAG+J,KAAK,MACtCY,EAAKhC,IAAMgC,EAAKhC,IAAI7D,UAAU,EAAG6F,EAAKhC,IAAI1I,OAAS6K,EAAQ7K,QAC3DD,EAAI8F,EAAI,GAIZ8E,EAAQC,EAKV3B,EAAQoB,EAAKrK,SACbqK,EAAOA,EAAK/F,QAAQ,uBAAwB,KAGlCmB,QAAQ,SAChBwD,GAASoB,EAAKrK,OACdqK,EAAQ1L,KAAKoK,QAAQ/F,SAAuEqH,EAAK/F,QAAQ,YAAa,IAAtF+F,EAAK/F,QAAQ,IAAImC,OAAO,QAAUwC,EAAQ,IAAK,MAAO,KAMxF6B,EAAQ5I,GAAQ,eAAeL,KAAKwI,GAEhCtK,IAAM8F,EAAI,IACZ3D,EAAwC,OAAjCmI,EAAK5F,OAAO4F,EAAKrK,OAAS,GAC5B8K,IAAOA,EAAQ5I,IAGlB4I,IACFJ,EAAKI,OAAQ,GAIXnM,KAAKoK,QAAQrG,MAEfsI,OAAYQ,GADZT,EAAS,cAAclJ,KAAKwI,MAI1BW,EAAwB,MAAZX,EAAK,GACjBA,EAAOA,EAAK/F,QAAQ,eAAgB,MAIxCoG,EAAKW,MAAM3D,KAAK,CACdkB,KAAM,YACNF,IAAKA,EACL+C,KAAMV,EACNW,QAASV,EACTF,MAAOA,EACPnC,KAAM0B,IAIV,OAAOK,IAIX1B,EAAO3E,KAAO,SAAc6E,GAC1B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAM/E,KAAKyC,KAAKoC,GAErC,GAAIV,EACF,MAAO,CACLI,KAAMjK,KAAKoK,QAAQ7F,SAAW,YAAc,OAC5CwF,IAAKF,EAAI,GACTmD,KAAMhN,KAAKoK,QAAQ5F,YAAyB,QAAXqF,EAAI,IAA2B,WAAXA,EAAI,IAA8B,UAAXA,EAAI,IAChFG,KAAMhK,KAAKoK,QAAQ7F,SAAWvE,KAAKoK,QAAQ5F,UAAYxE,KAAKoK,QAAQ5F,UAAUqF,EAAI,IAAMH,EAAQG,EAAI,IAAMA,EAAI,KAKpHQ,EAAO4C,IAAM,SAAa1C,GACxB,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMwC,IAAI9E,KAAKoC,GAEpC,GAAIV,EAGF,OAFIA,EAAI,KAAIA,EAAI,GAAKA,EAAI,GAAG3D,UAAU,EAAG2D,EAAI,GAAGxI,OAAS,IAElD,CACL6L,IAFQrD,EAAI,GAAGhE,cAAcF,QAAQ,OAAQ,KAG7CoE,IAAKF,EAAI,GACTzJ,KAAMyJ,EAAI,GACVrJ,MAAOqJ,EAAI,KAKjBQ,EAAO8C,MAAQ,SAAe5C,GAC5B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAM0C,MAAMhF,KAAKoC,GAEtC,GAAIV,EAAK,CACP,IAAI6B,EAAO,CACTzB,KAAM,QACN0B,OAAQlC,EAAaI,EAAI,GAAGlE,QAAQ,eAAgB,KACpDiG,MAAO/B,EAAI,GAAGlE,QAAQ,aAAc,IAAIkD,MAAM,UAC9CL,MAAOqB,EAAI,GAAKA,EAAI,GAAGlE,QAAQ,MAAO,IAAIkD,MAAM,MAAQ,IAG1D,GAAI6C,EAAKC,OAAOtK,SAAWqK,EAAKE,MAAMvK,OAAQ,CAC5CqK,EAAK3B,IAAMF,EAAI,GACf,IACIzI,EADA8F,EAAIwE,EAAKE,MAAMvK,OAGnB,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IACb,YAAY8B,KAAKwI,EAAKE,MAAMxK,IAC9BsK,EAAKE,MAAMxK,GAAK,QACP,aAAa8B,KAAKwI,EAAKE,MAAMxK,IACtCsK,EAAKE,MAAMxK,GAAK,SACP,YAAY8B,KAAKwI,EAAKE,MAAMxK,IACrCsK,EAAKE,MAAMxK,GAAK,OAEhBsK,EAAKE,MAAMxK,GAAK,KAMpB,IAFA8F,EAAIwE,EAAKlD,MAAMnH,OAEVD,EAAI,EAAGA,EAAI8F,EAAG9F,IACjBsK,EAAKlD,MAAMpH,GAAKqI,EAAaiC,EAAKlD,MAAMpH,GAAGuE,QAAQ,mBAAoB,IAAK+F,EAAKC,OAAOtK,QAG1F,OAAOqK,KAKbrB,EAAO+C,SAAW,SAAkB7C,GAClC,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAM2C,SAASjF,KAAKoC,GAEzC,GAAIV,EACF,MAAO,CACLI,KAAM,UACNF,IAAKF,EAAI,GACT2B,MAA4B,MAArB3B,EAAI,GAAG/D,OAAO,GAAa,EAAI,EACtCkE,KAAMH,EAAI,KAKhBQ,EAAOgD,UAAY,SAAmB9C,GACpC,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAM4C,UAAUlF,KAAKoC,GAE1C,GAAIV,EACF,MAAO,CACLI,KAAM,YACNF,IAAKF,EAAI,GACTG,KAA2C,OAArCH,EAAI,GAAG/D,OAAO+D,EAAI,GAAGxI,OAAS,GAAcwI,EAAI,GAAG/G,MAAM,GAAI,GAAK+G,EAAI,KAKlFQ,EAAOL,KAAO,SAAcO,GAC1B,IAAIV,EAAM7J,KAAKwK,MAAMC,MAAMT,KAAK7B,KAAKoC,GAErC,GAAIV,EACF,MAAO,CACLI,KAAM,OACNF,IAAKF,EAAI,GACTG,KAAMH,EAAI,KAKhBQ,EAAOiD,OAAS,SAAgB/C,GAC9B,IAAIV,EAAM7J,KAAKwK,MAAM+C,OAAOD,OAAOnF,KAAKoC,GAExC,GAAIV,EACF,MAAO,CACLI,KAAM,SACNF,IAAKF,EAAI,GACTG,KAAMN,EAAQG,EAAI,MAKxBQ,EAAO6C,IAAM,SAAa3C,EAAKiD,EAAQC,GACrC,IAAI5D,EAAM7J,KAAKwK,MAAM+C,OAAOL,IAAI/E,KAAKoC,GAErC,GAAIV,EAaF,OAZK2D,GAAU,QAAQtK,KAAK2G,EAAI,IAC9B2D,GAAS,EACAA,GAAU,UAAUtK,KAAK2G,EAAI,MACtC2D,GAAS,IAGNC,GAAc,iCAAiCvK,KAAK2G,EAAI,IAC3D4D,GAAa,EACJA,GAAc,mCAAmCvK,KAAK2G,EAAI,MACnE4D,GAAa,GAGR,CACLxD,KAAMjK,KAAKoK,QAAQ7F,SAAW,OAAS,OACvCwF,IAAKF,EAAI,GACT2D,OAAQA,EACRC,WAAYA,EACZzD,KAAMhK,KAAKoK,QAAQ7F,SAAWvE,KAAKoK,QAAQ5F,UAAYxE,KAAKoK,QAAQ5F,UAAUqF,EAAI,IAAMH,EAAQG,EAAI,IAAMA,EAAI,KAKpHQ,EAAOP,KAAO,SAAcS,GAC1B,IAAIV,EAAM7J,KAAKwK,MAAM+C,OAAOzD,KAAK3B,KAAKoC,GAEtC,GAAIV,EAAK,CACP,IAAI6D,EAAa7D,EAAI,GAAGb,OAExB,IAAKhJ,KAAKoK,QAAQ/F,UAAY,KAAKnB,KAAKwK,GAAa,CAEnD,IAAK,KAAKxK,KAAKwK,GACb,OAIF,IAAIC,EAAanE,EAAQkE,EAAW5K,MAAM,GAAI,GAAI,MAElD,IAAK4K,EAAWrM,OAASsM,EAAWtM,QAAU,GAAM,EAClD,WAEG,CAEL,IAAIuM,EAAiBjE,EAAqBE,EAAI,GAAI,MAElD,GAAI+D,GAAkB,EAAG,CACvB,IACIC,GADgC,IAAxBhE,EAAI,GAAG/C,QAAQ,KAAa,EAAI,GACtB+C,EAAI,GAAGxI,OAASuM,EACtC/D,EAAI,GAAKA,EAAI,GAAG3D,UAAU,EAAG0H,GAC7B/D,EAAI,GAAKA,EAAI,GAAG3D,UAAU,EAAG2H,GAAS7E,OACtCa,EAAI,GAAK,IAIb,IAAIzJ,EAAOyJ,EAAI,GACXrJ,EAAQ,GAEZ,GAAIR,KAAKoK,QAAQ/F,SAAU,CAEzB,IAAIyF,EAAO,gCAAgC3B,KAAK/H,GAE5C0J,IACF1J,EAAO0J,EAAK,GACZtJ,EAAQsJ,EAAK,SAGftJ,EAAQqJ,EAAI,GAAKA,EAAI,GAAG/G,MAAM,GAAI,GAAK,GAczC,OAXA1C,EAAOA,EAAK4I,OAER,KAAK9F,KAAK9C,KAGVA,EAFEJ,KAAKoK,QAAQ/F,WAAa,KAAKnB,KAAKwK,GAE/BtN,EAAK0C,MAAM,GAEX1C,EAAK0C,MAAM,GAAI,IAInB8G,EAAWC,EAAK,CACrBzJ,KAAMA,EAAOA,EAAKuF,QAAQ3F,KAAKwK,MAAM+C,OAAOO,SAAU,MAAQ1N,EAC9DI,MAAOA,EAAQA,EAAMmF,QAAQ3F,KAAKwK,MAAM+C,OAAOO,SAAU,MAAQtN,GAChEqJ,EAAI,MAIXQ,EAAO0D,QAAU,SAAiBxD,EAAKyD,GACrC,IAAInE,EAEJ,IAAKA,EAAM7J,KAAKwK,MAAM+C,OAAOQ,QAAQ5F,KAAKoC,MAAUV,EAAM7J,KAAKwK,MAAM+C,OAAOU,OAAO9F,KAAKoC,IAAO,CAC7F,IAAIT,GAAQD,EAAI,IAAMA,EAAI,IAAIlE,QAAQ,OAAQ,KAG9C,KAFAmE,EAAOkE,EAAMlE,EAAKjE,kBAEJiE,EAAK1J,KAAM,CACvB,IAAI4J,EAAOH,EAAI,GAAG/D,OAAO,GACzB,MAAO,CACLmE,KAAM,OACNF,IAAKC,EACLA,KAAMA,GAIV,OAAOJ,EAAWC,EAAKC,EAAMD,EAAI,MAIrCQ,EAAO6D,SAAW,SAAkB3D,EAAK4D,EAAWC,QACjC,IAAbA,IACFA,EAAW,IAGb,IAAI3F,EAAQzI,KAAKwK,MAAM+C,OAAOW,SAASG,OAAOlG,KAAKoC,GACnD,GAAK9B,KACDA,EAAM,KAAM2F,EAAS3F,MAAM,s9QAA/B,CAEA,IAAI6F,EAAW7F,EAAM,IAAMA,EAAM,IAAM,GAEvC,IAAK6F,GAAYA,IAA0B,KAAbF,GAAmBpO,KAAKwK,MAAM+C,OAAOgB,YAAYpG,KAAKiG,IAAY,CAC9F,IACII,EACAC,EAFAC,EAAUjG,EAAM,GAAGpH,OAAS,EAG5BsN,EAAaD,EACbE,EAAgB,EAChBC,EAAyB,MAAhBpG,EAAM,GAAG,GAAazI,KAAKwK,MAAM+C,OAAOW,SAASY,UAAY9O,KAAKwK,MAAM+C,OAAOW,SAASa,UAIrG,IAHAF,EAAOG,UAAY,EACnBb,EAAYA,EAAUrL,OAAO,EAAIyH,EAAIlJ,OAASqN,GAEH,OAAnCjG,EAAQoG,EAAO1G,KAAKgG,KAE1B,GADAK,EAAS/F,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,GAK3E,GAFAgG,EAAUD,EAAOnN,OAEboH,EAAM,IAAMA,EAAM,GAEpBkG,GAAcF,OAET,MAAIhG,EAAM,IAAMA,EAAM,KAEvBiG,EAAU,KAAQA,EAAUD,GAAW,GAO7C,MADAE,GAAcF,GACG,GAAjB,CAOA,GAJIE,EAAaC,EAAgBH,GAAW,IAAMN,EAAUrL,MAAM+L,EAAOG,WAAWvG,MAAMoG,KACxFJ,EAAUQ,KAAKC,IAAIT,EAASA,EAAUE,EAAaC,IAGjDK,KAAKC,IAAIR,EAASD,GAAW,EAC/B,MAAO,CACLxE,KAAM,KACNF,IAAKQ,EAAIzH,MAAM,EAAG4L,EAAUjG,EAAM0G,MAAQV,EAAU,GACpDzE,KAAMO,EAAIzH,MAAM,EAAG4L,EAAUjG,EAAM0G,MAAQV,IAI/C,GAAIQ,KAAKC,IAAIR,EAASD,GAAW,GAAM,EACrC,MAAO,CACLxE,KAAM,SACNF,IAAKQ,EAAIzH,MAAM,EAAG4L,EAAUjG,EAAM0G,MAAQV,EAAU,GACpDzE,KAAMO,EAAIzH,MAAM,EAAG4L,EAAUjG,EAAM0G,MAAQV,EAAU,UAzBrDG,GAAiBH,KAgC3BpE,EAAO+E,SAAW,SAAkB7E,GAClC,IAAIV,EAAM7J,KAAKwK,MAAM+C,OAAO5C,KAAKxC,KAAKoC,GAEtC,GAAIV,EAAK,CACP,IAAIG,EAAOH,EAAI,GAAGlE,QAAQ,MAAO,KAC7B0J,EAAmB,OAAOnM,KAAK8G,GAC/BsF,EAA0B,KAAKpM,KAAK8G,IAAS,KAAK9G,KAAK8G,GAO3D,OALIqF,GAAoBC,IACtBtF,EAAOA,EAAK9D,UAAU,EAAG8D,EAAK3I,OAAS,IAGzC2I,EAAON,EAAQM,GAAM,GACd,CACLC,KAAM,WACNF,IAAKF,EAAI,GACTG,KAAMA,KAKZK,EAAOkF,GAAK,SAAYhF,GACtB,IAAIV,EAAM7J,KAAKwK,MAAM+C,OAAOgC,GAAGpH,KAAKoC,GAEpC,GAAIV,EACF,MAAO,CACLI,KAAM,KACNF,IAAKF,EAAI,KAKfQ,EAAOmF,IAAM,SAAajF,GACxB,IAAIV,EAAM7J,KAAKwK,MAAM+C,OAAOiC,IAAIrH,KAAKoC,GAErC,GAAIV,EACF,MAAO,CACLI,KAAM,MACNF,IAAKF,EAAI,GACTG,KAAMH,EAAI,KAKhBQ,EAAOoF,SAAW,SAAkBlF,EAAKnG,GACvC,IAGM4F,EAAM5J,EAHRyJ,EAAM7J,KAAKwK,MAAM+C,OAAOkC,SAAStH,KAAKoC,GAE1C,GAAIV,EAWF,OANEzJ,EAFa,MAAXyJ,EAAI,GAEC,WADPG,EAAON,EAAQ1J,KAAKoK,QAAQhG,OAASA,EAAOyF,EAAI,IAAMA,EAAI,KAG1DG,EAAON,EAAQG,EAAI,IAId,CACLI,KAAM,OACNF,IAAKF,EAAI,GACTG,KAAMA,EACN5J,KAAMA,EACNsP,OAAQ,CAAC,CACPzF,KAAM,OACNF,IAAKC,EACLA,KAAMA,MAMdK,EAAOsF,IAAM,SAAapF,EAAKnG,GAC7B,IAAIyF,EAEJ,GAAIA,EAAM7J,KAAKwK,MAAM+C,OAAOoC,IAAIxH,KAAKoC,GAAM,CACzC,IAAIP,EAAM5J,EAEV,GAAe,MAAXyJ,EAAI,GAENzJ,EAAO,WADP4J,EAAON,EAAQ1J,KAAKoK,QAAQhG,OAASA,EAAOyF,EAAI,IAAMA,EAAI,SAErD,CAEL,IAAI+F,EAEJ,GACEA,EAAc/F,EAAI,GAClBA,EAAI,GAAK7J,KAAKwK,MAAM+C,OAAOsC,WAAW1H,KAAK0B,EAAI,IAAI,SAC5C+F,IAAgB/F,EAAI,IAE7BG,EAAON,EAAQG,EAAI,IAGjBzJ,EADa,SAAXyJ,EAAI,GACC,UAAYG,EAEZA,EAIX,MAAO,CACLC,KAAM,OACNF,IAAKF,EAAI,GACTG,KAAMA,EACN5J,KAAMA,EACNsP,OAAQ,CAAC,CACPzF,KAAM,OACNF,IAAKC,EACLA,KAAMA,OAMdK,EAAOyF,WAAa,SAAoBvF,EAAKkD,EAAY9I,GACvD,IAGMqF,EAHFH,EAAM7J,KAAKwK,MAAM+C,OAAOvD,KAAK7B,KAAKoC,GAEtC,GAAIV,EASF,OALEG,EADEyD,EACKzN,KAAKoK,QAAQ7F,SAAWvE,KAAKoK,QAAQ5F,UAAYxE,KAAKoK,QAAQ5F,UAAUqF,EAAI,IAAMH,EAAQG,EAAI,IAAMA,EAAI,GAExGH,EAAQ1J,KAAKoK,QAAQzF,YAAcA,EAAYkF,EAAI,IAAMA,EAAI,IAG/D,CACLI,KAAM,OACNF,IAAKF,EAAI,GACTG,KAAMA,IAKLG,EAhqBsB,GAmqB3B4F,EAAazI,EACb0I,EAAS1I,EACT2I,EAAU3I,EAKVmD,EAAQ,CACVC,QAAS,mBACTC,KAAM,uCACNE,OAAQ,6FACRgB,GAAI,yDACJP,QAAS,uCACTQ,WAAY,0CACZC,KAAM,wEACNrG,KAAM,saAUNuH,IAAK,mFACLxB,QAASsE,EACT5C,MAAO4C,EACP3C,SAAU,sCAGV8C,WAAY,iFACZlG,KAAM,UAER,OAAe,iCACf,OAAe,gEACfS,EAAMwC,IAAM+C,EAAOvF,EAAMwC,KAAKtH,QAAQ,QAAS8E,EAAM0F,QAAQxK,QAAQ,QAAS8E,EAAM2F,QAAQvI,WAC5F4C,EAAM4F,OAAS,wBACf5F,EAAMiB,KAAO,+CACbjB,EAAMiB,KAAOsE,EAAOvF,EAAMiB,KAAM,MAAM/F,QAAQ,QAAS8E,EAAM4F,QAAQxI,WACrE4C,EAAMmC,cAAgBoD,EAAO,eAAerK,QAAQ,OAAQ8E,EAAM4F,QAAQxI,WAC1E4C,EAAMsB,KAAOiE,EAAOvF,EAAMsB,MAAMpG,QAAQ,QAAS8E,EAAM4F,QAAQ1K,QAAQ,KAAM,mEAAmEA,QAAQ,MAAO,UAAY8E,EAAMwC,IAAIvF,OAAS,KAAKG,WACnM4C,EAAM6F,KAAO,gWACb7F,EAAM8F,SAAW,+BACjB9F,EAAM/E,KAAOsK,EAAOvF,EAAM/E,KAAM,KAAKC,QAAQ,UAAW8E,EAAM8F,UAAU5K,QAAQ,MAAO8E,EAAM6F,MAAM3K,QAAQ,YAAa,4EAA4EkC,WACpM4C,EAAM4C,UAAY2C,EAAOvF,EAAMyF,YAAYvK,QAAQ,KAAM8E,EAAMoB,IAAIlG,QAAQ,UAAW,iBAAiBA,QAAQ,YAAa,IAC3HA,QAAQ,aAAc,WAAWA,QAAQ,SAAU,kDAAkDA,QAAQ,OAAQ,0BACrHA,QAAQ,OAAQ,sDAAsDA,QAAQ,MAAO8E,EAAM6F,MAC3FzI,WACD4C,EAAMqB,WAAakE,EAAOvF,EAAMqB,YAAYnG,QAAQ,YAAa8E,EAAM4C,WAAWxF,WAKlF4C,EAAM+F,OAASP,EAAQ,GAAIxF,GAK3BA,EAAM1G,IAAMkM,EAAQ,GAAIxF,EAAM+F,OAAQ,CACpC/E,QAAS,qIAIT0B,MAAO,gIAKT1C,EAAM1G,IAAI0H,QAAUuE,EAAOvF,EAAM1G,IAAI0H,SAAS9F,QAAQ,KAAM8E,EAAMoB,IAAIlG,QAAQ,UAAW,iBAAiBA,QAAQ,aAAc,WAAWA,QAAQ,OAAQ,cAAcA,QAAQ,SAAU,kDAAkDA,QAAQ,OAAQ,0BAC5PA,QAAQ,OAAQ,sDAAsDA,QAAQ,MAAO8E,EAAM6F,MAC3FzI,WACD4C,EAAM1G,IAAIoJ,MAAQ6C,EAAOvF,EAAM1G,IAAIoJ,OAAOxH,QAAQ,KAAM8E,EAAMoB,IAAIlG,QAAQ,UAAW,iBAAiBA,QAAQ,aAAc,WAAWA,QAAQ,OAAQ,cAAcA,QAAQ,SAAU,kDAAkDA,QAAQ,OAAQ,0BACxPA,QAAQ,OAAQ,sDAAsDA,QAAQ,MAAO8E,EAAM6F,MAC3FzI,WAKD4C,EAAMpG,SAAW4L,EAAQ,GAAIxF,EAAM+F,OAAQ,CACzC9K,KAAMsK,EAAO,8IAC6DrK,QAAQ,UAAW8E,EAAM8F,UAAU5K,QAAQ,OAAQ,qKAAoLkC,WACjToF,IAAK,oEACL3B,QAAS,yBACTT,OAAQkF,EAER1C,UAAW2C,EAAOvF,EAAM+F,OAAON,YAAYvK,QAAQ,KAAM8E,EAAMoB,IAAIlG,QAAQ,UAAW,mBAAmBA,QAAQ,WAAY8E,EAAM2C,UAAUzH,QAAQ,aAAc,WAAWA,QAAQ,UAAW,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,QAAS,IAAIkC,aAMjP,IAAI0F,EAAS,CACXD,OAAQ,8CACRmC,SAAU,sCACVE,IAAKI,EACL7C,IAAK,2JAMLpD,KAAM,gDACNiE,QAAS,wDACTE,OAAQ,gEACRwC,cAAe,wBACfvC,SAAU,CACRG,OAAQ,2DAGRS,UAAW,qMACXC,UAAW,oKAGbpE,KAAM,sCACN4E,GAAI,wBACJC,IAAKO,EACL/F,KAAM,8EACNuE,YAAa,qBAIf,aAAsB,wCACtBhB,EAAOgB,YAAcyB,EAAOzC,EAAOgB,aAAa5I,QAAQ,eAAgB4H,EAAOmD,cAAc7I,WAE7F0F,EAAOoD,UAAY,4CACnBpD,EAAOqD,YAAc,YACrBrD,EAAOgD,SAAWP,EAAOvF,EAAM8F,UAAU5K,QAAQ,eAAa,UAAOkC,WACrE0F,EAAOW,SAASG,OAAS2B,EAAOzC,EAAOW,SAASG,QAAQ1I,QAAQ,SAAU4H,EAAOmD,cAAc7I,WAC/F0F,EAAOW,SAASY,UAAYkB,EAAOzC,EAAOW,SAASY,UAAW,KAAKnJ,QAAQ,SAAU4H,EAAOmD,cAAc7I,WAC1G0F,EAAOW,SAASa,UAAYiB,EAAOzC,EAAOW,SAASa,UAAW,KAAKpJ,QAAQ,SAAU4H,EAAOmD,cAAc7I,WAC1G0F,EAAOO,SAAW,8CAClBP,EAAOsD,QAAU,+BACjBtD,EAAOuD,OAAS,+IAChBvD,EAAOkC,SAAWO,EAAOzC,EAAOkC,UAAU9J,QAAQ,SAAU4H,EAAOsD,SAASlL,QAAQ,QAAS4H,EAAOuD,QAAQjJ,WAC5G0F,EAAOwD,WAAa,8EACpBxD,EAAOL,IAAM8C,EAAOzC,EAAOL,KAAKvH,QAAQ,UAAW4H,EAAOgD,UAAU5K,QAAQ,YAAa4H,EAAOwD,YAAYlJ,WAC5G0F,EAAO4C,OAAS,sDAChB5C,EAAOyD,MAAQ,uCACfzD,EAAO6C,OAAS,8DAChB7C,EAAOzD,KAAOkG,EAAOzC,EAAOzD,MAAMnE,QAAQ,QAAS4H,EAAO4C,QAAQxK,QAAQ,OAAQ4H,EAAOyD,OAAOrL,QAAQ,QAAS4H,EAAO6C,QAAQvI,WAChI0F,EAAOQ,QAAUiC,EAAOzC,EAAOQ,SAASpI,QAAQ,QAAS4H,EAAO4C,QAAQtI,WACxE0F,EAAOkD,cAAgBT,EAAOzC,EAAOkD,cAAe,KAAK9K,QAAQ,UAAW4H,EAAOQ,SAASpI,QAAQ,SAAU4H,EAAOU,QAAQpG,WAK7H0F,EAAOiD,OAASP,EAAQ,GAAI1C,GAK5BA,EAAOlJ,SAAW4L,EAAQ,GAAI1C,EAAOiD,OAAQ,CAC3CS,OAAQ,CACNxE,MAAO,WACPyE,OAAQ,iEACRC,OAAQ,cACRC,OAAQ,YAEVC,GAAI,CACF5E,MAAO,QACPyE,OAAQ,6DACRC,OAAQ,YACRC,OAAQ,WAEVtH,KAAMkG,EAAO,2BAA2BrK,QAAQ,QAAS4H,EAAO4C,QAAQtI,WACxEkG,QAASiC,EAAO,iCAAiCrK,QAAQ,QAAS4H,EAAO4C,QAAQtI,aAMnF0F,EAAOxJ,IAAMkM,EAAQ,GAAI1C,EAAOiD,OAAQ,CACtClD,OAAQ0C,EAAOzC,EAAOD,QAAQ3H,QAAQ,KAAM,QAAQkC,WACpDyJ,gBAAiB,4EACjB3B,IAAK,mEACLE,WAAY,yEACZL,IAAK,+CACLxF,KAAM,+NAERuD,EAAOxJ,IAAI4L,IAAMK,EAAOzC,EAAOxJ,IAAI4L,IAAK,KAAKhK,QAAQ,QAAS4H,EAAOxJ,IAAIuN,iBAAiBzJ,WAK1F0F,EAAOzJ,OAASmM,EAAQ,GAAI1C,EAAOxJ,IAAK,CACtCwL,GAAIS,EAAOzC,EAAOgC,IAAI5J,QAAQ,OAAQ,KAAKkC,WAC3CmC,KAAMgG,EAAOzC,EAAOxJ,IAAIiG,MAAMrE,QAAQ,OAAQ,iBAAiBA,QAAQ,UAAW,KAAKkC,aAEzF,IAAI2C,EAAQ,CACVC,MAAOA,EACP8C,OAAQA,GAENgE,EAAa9N,EAASA,SACtB+N,EAAUhH,EAAMC,MAChBgH,EAAWjH,EAAM+C,OACjBmE,EAAiBpK,EAKrB,SAAS3C,EAAYqF,GACnB,OAAOA,EACNrE,QAAQ,OAAQ,KAChBA,QAAQ,MAAO,KACfA,QAAQ,0BAA2B,OACnCA,QAAQ,KAAM,KACdA,QAAQ,+BAAgC,OACxCA,QAAQ,KAAM,KACdA,QAAQ,SAAU,KAOrB,SAASvB,EAAO4F,GACd,IACI5I,EACAmE,EAFAoM,EAAM,GAGNzK,EAAI8C,EAAK3I,OAEb,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IACjBmE,EAAKyE,EAAK4H,WAAWxQ,GAEjB6N,KAAK4C,SAAW,KAClBtM,EAAK,IAAMA,EAAG3C,SAAS,KAGzB+O,GAAO,KAAOpM,EAAK,IAGrB,OAAOoM,EAOT,IAAIG,EAAuB,WACzB,SAASC,EAAM3H,GACbpK,KAAK0P,OAAS,GACd1P,KAAK0P,OAAO1B,MAAQtM,OAAOsQ,OAAO,MAClChS,KAAKoK,QAAUA,GAAWmH,EAC1BvR,KAAKoK,QAAQxF,UAAY5E,KAAKoK,QAAQxF,WAAa,IAAIsF,EACvDlK,KAAK4E,UAAY5E,KAAKoK,QAAQxF,UAC9B5E,KAAK4E,UAAUwF,QAAUpK,KAAKoK,QAC9B,IAAII,EAAQ,CACVC,MAAO+G,EAAQhB,OACfjD,OAAQkE,EAASjB,QAGfxQ,KAAKoK,QAAQ/F,UACfmG,EAAMC,MAAQ+G,EAAQnN,SACtBmG,EAAM+C,OAASkE,EAASpN,UACfrE,KAAKoK,QAAQrG,MACtByG,EAAMC,MAAQ+G,EAAQzN,IAElB/D,KAAKoK,QAAQtG,OACf0G,EAAM+C,OAASkE,EAAS3N,OAExB0G,EAAM+C,OAASkE,EAAS1N,KAI5B/D,KAAK4E,UAAU4F,MAAQA,EAWzBuH,EAAME,IAAM,SAAa1H,EAAKH,GAE5B,OADY,IAAI2H,EAAM3H,GACT6H,IAAI1H,IAOnBwH,EAAMG,UAAY,SAAmB3H,EAAKH,GAExC,OADY,IAAI2H,EAAM3H,GACT+H,aAAa5H,IAO5B,IAn4CoB6H,EAAaC,EAAYC,EAm4CzCjI,EAAS0H,EAAMpP,UAybnB,OAvbA0H,EAAO4H,IAAM,SAAa1H,GAIxB,OAHAA,EAAMA,EAAI5E,QAAQ,WAAY,MAAMA,QAAQ,MAAO,QACnD3F,KAAKuS,YAAYhI,EAAKvK,KAAK0P,QAAQ,GACnC1P,KAAKuN,OAAOvN,KAAK0P,QACV1P,KAAK0P,QAOdrF,EAAOkI,YAAc,SAAqBhI,EAAKmF,EAAQ8C,GAarD,IAAIC,EAAOrR,EAAG8F,EAAGwL,EAEjB,SAde,IAAXhD,IACFA,EAAS,SAGC,IAAR8C,IACFA,GAAM,GAGJxS,KAAKoK,QAAQ/F,WACfkG,EAAMA,EAAI5E,QAAQ,SAAU,KAKvB4E,GAEL,GAAIkI,EAAQzS,KAAK4E,UAAU0F,MAAMC,GAC/BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAE1BoR,EAAMxI,MACRyF,EAAO3G,KAAK0J,QAOhB,GAAIA,EAAQzS,KAAK4E,UAAU+F,KAAKJ,GAC9BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,SAC9BqR,EAAYhD,EAAOA,EAAOrO,OAAS,KAEC,cAAnBqR,EAAUzI,MACzByI,EAAU3I,KAAO,KAAO0I,EAAM1I,IAC9B2I,EAAU1I,MAAQ,KAAOyI,EAAMzI,MAE/B0F,EAAO3G,KAAK0J,QAOhB,GAAIA,EAAQzS,KAAK4E,UAAUiG,OAAON,GAChCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAU0G,QAAQf,GACjCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAU6G,QAAQlB,GACjCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUiH,GAAGtB,GAC5BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUkH,WAAWvB,GACpCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BoR,EAAM/C,OAAS1P,KAAKuS,YAAYE,EAAMzI,KAAM,GAAIwI,GAChD9C,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUmH,KAAKxB,GAAhC,CAIE,IAHAA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9B6F,EAAIuL,EAAM/F,MAAMrL,OAEXD,EAAI,EAAGA,EAAI8F,EAAG9F,IACjBqR,EAAM/F,MAAMtL,GAAGsO,OAAS1P,KAAKuS,YAAYE,EAAM/F,MAAMtL,GAAG4I,KAAM,IAAI,GAGpE0F,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUc,KAAK6E,GAC9BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAID,IAAQC,EAAQzS,KAAK4E,UAAUqI,IAAI1C,IACrCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAEzBrB,KAAK0P,OAAO1B,MAAMyE,EAAMvF,OAC3BlN,KAAK0P,OAAO1B,MAAMyE,EAAMvF,KAAO,CAC7B9M,KAAMqS,EAAMrS,KACZI,MAAOiS,EAAMjS,aAQnB,GAAIiS,EAAQzS,KAAK4E,UAAUuI,MAAM5C,GAC/BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUwI,SAAS7C,GAClCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAID,IAAQC,EAAQzS,KAAK4E,UAAUyI,UAAU9C,IAC3CA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUoF,KAAKO,GAC9BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,SAC9BqR,EAAYhD,EAAOA,EAAOrO,OAAS,KAEC,SAAnBqR,EAAUzI,MACzByI,EAAU3I,KAAO,KAAO0I,EAAM1I,IAC9B2I,EAAU1I,MAAQ,KAAOyI,EAAMzI,MAE/B0F,EAAO3G,KAAK0J,QAMhB,GAAIlI,EAAK,CACP,IAAIoI,EAAS,0BAA4BpI,EAAIqH,WAAW,GAExD,GAAI5R,KAAKoK,QAAQ3F,OAAQ,CACvB0E,QAAQyJ,MAAMD,GACd,MAEA,MAAM,IAAIE,MAAMF,GAKtB,OAAOjD,GAGTrF,EAAOkD,OAAS,SAAgBmC,GAC9B,IAAItO,EAAG0R,EAAGC,EAAGC,EAAIC,EAAKR,EAClBvL,EAAIwI,EAAOrO,OAEf,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IAGjB,QAFAqR,EAAQ/C,EAAOtO,IAED6I,MACZ,IAAK,YACL,IAAK,OACL,IAAK,UAEDwI,EAAM/C,OAAS,GACf1P,KAAKmS,aAAaM,EAAMzI,KAAMyI,EAAM/C,QACpC,MAGJ,IAAK,QASD,IAPA+C,EAAM/C,OAAS,CACb/D,OAAQ,GACRnD,MAAO,IAGTwK,EAAKP,EAAM9G,OAAOtK,OAEbyR,EAAI,EAAGA,EAAIE,EAAIF,IAClBL,EAAM/C,OAAO/D,OAAOmH,GAAK,GACzB9S,KAAKmS,aAAaM,EAAM9G,OAAOmH,GAAIL,EAAM/C,OAAO/D,OAAOmH,IAMzD,IAFAE,EAAKP,EAAMjK,MAAMnH,OAEZyR,EAAI,EAAGA,EAAIE,EAAIF,IAIlB,IAHAG,EAAMR,EAAMjK,MAAMsK,GAClBL,EAAM/C,OAAOlH,MAAMsK,GAAK,GAEnBC,EAAI,EAAGA,EAAIE,EAAI5R,OAAQ0R,IAC1BN,EAAM/C,OAAOlH,MAAMsK,GAAGC,GAAK,GAC3B/S,KAAKmS,aAAac,EAAIF,GAAIN,EAAM/C,OAAOlH,MAAMsK,GAAGC,IAIpD,MAGJ,IAAK,aAED/S,KAAKuN,OAAOkF,EAAM/C,QAClB,MAGJ,IAAK,OAID,IAFAsD,EAAKP,EAAM/F,MAAMrL,OAEZyR,EAAI,EAAGA,EAAIE,EAAIF,IAClB9S,KAAKuN,OAAOkF,EAAM/F,MAAMoG,GAAGpD,QAQrC,OAAOA,GAOTrF,EAAO8H,aAAe,SAAsB5H,EAAKmF,EAAQlC,EAAQC,GAa/D,IAAIgF,EAAOC,OAZI,IAAXhD,IACFA,EAAS,SAGI,IAAXlC,IACFA,GAAS,QAGQ,IAAfC,IACFA,GAAa,GAKf,IACIhF,EACAyK,EAAc9E,EAFdD,EAAY5D,EAIhB,GAAIvK,KAAK0P,OAAO1B,MAAO,CACrB,IAAIA,EAAQtM,OAAOyR,KAAKnT,KAAK0P,OAAO1B,OAEpC,GAAIA,EAAM3M,OAAS,EACjB,KAA8E,OAAtEoH,EAAQzI,KAAK4E,UAAU4F,MAAM+C,OAAOkD,cAActI,KAAKgG,KACzDH,EAAMoF,SAAS3K,EAAM,GAAG3F,MAAM2F,EAAM,GAAG4K,YAAY,KAAO,GAAI,MAChElF,EAAYA,EAAUrL,MAAM,EAAG2F,EAAM0G,OAAS,IAAMuC,EAAe,IAAKjJ,EAAM,GAAGpH,OAAS,GAAK,IAAM8M,EAAUrL,MAAM9C,KAAK4E,UAAU4F,MAAM+C,OAAOkD,cAAczB,YAOvK,KAA0E,OAAlEvG,EAAQzI,KAAK4E,UAAU4F,MAAM+C,OAAOoD,UAAUxI,KAAKgG,KACzDA,EAAYA,EAAUrL,MAAM,EAAG2F,EAAM0G,OAAS,IAAMuC,EAAe,IAAKjJ,EAAM,GAAGpH,OAAS,GAAK,IAAM8M,EAAUrL,MAAM9C,KAAK4E,UAAU4F,MAAM+C,OAAOoD,UAAU3B,WAI7J,KAA4E,OAApEvG,EAAQzI,KAAK4E,UAAU4F,MAAM+C,OAAOqD,YAAYzI,KAAKgG,KAC3DA,EAAYA,EAAUrL,MAAM,EAAG2F,EAAM0G,OAAS,KAAOhB,EAAUrL,MAAM9C,KAAK4E,UAAU4F,MAAM+C,OAAOqD,YAAY5B,WAG/G,KAAOzE,GAOL,GANK2I,IACH9E,EAAW,IAGb8E,GAAe,EAEXT,EAAQzS,KAAK4E,UAAU0I,OAAO/C,GAChCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUsI,IAAI3C,EAAKiD,EAAQC,GAA5C,CACElD,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BmM,EAASiF,EAAMjF,OACfC,EAAagF,EAAMhF,WACnB,IAAI6F,EAAa5D,EAAOA,EAAOrO,OAAS,GAEpCiS,GAA6B,SAAfb,EAAMxI,MAAuC,SAApBqJ,EAAWrJ,MACpDqJ,EAAWvJ,KAAO0I,EAAM1I,IACxBuJ,EAAWtJ,MAAQyI,EAAMzI,MAEzB0F,EAAO3G,KAAK0J,QAOhB,GAAIA,EAAQzS,KAAK4E,UAAUkF,KAAKS,GAC9BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAEX,SAAfoR,EAAMxI,OACRwI,EAAM/C,OAAS1P,KAAKmS,aAAaM,EAAMzI,KAAM,IAAI,EAAMyD,IAGzDiC,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUmJ,QAAQxD,EAAKvK,KAAK0P,OAAO1B,OAApD,CACEzD,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9B,IAAIkS,EAAc7D,EAAOA,EAAOrO,OAAS,GAEtB,SAAfoR,EAAMxI,MACRwI,EAAM/C,OAAS1P,KAAKmS,aAAaM,EAAMzI,KAAM,IAAI,EAAMyD,GACvDiC,EAAO3G,KAAK0J,IACHc,GAA8B,SAAfd,EAAMxI,MAAwC,SAArBsJ,EAAYtJ,MAC7DsJ,EAAYxJ,KAAO0I,EAAM1I,IACzBwJ,EAAYvJ,MAAQyI,EAAMzI,MAE1B0F,EAAO3G,KAAK0J,QAOhB,GAAIA,EAAQzS,KAAK4E,UAAUsJ,SAAS3D,EAAK4D,EAAWC,GAClD7D,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BoR,EAAM/C,OAAS1P,KAAKmS,aAAaM,EAAMzI,KAAM,GAAIwD,EAAQC,GACzDiC,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAUwK,SAAS7E,GAClCA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAU2K,GAAGhF,GAC5BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAU4K,IAAIjF,GAC7BA,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BoR,EAAM/C,OAAS1P,KAAKmS,aAAaM,EAAMzI,KAAM,GAAIwD,EAAQC,GACzDiC,EAAO3G,KAAK0J,QAKd,GAAIA,EAAQzS,KAAK4E,UAAU6K,SAASlF,EAAKnG,GACvCmG,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,QAKd,GAAKjF,KAAWiF,EAAQzS,KAAK4E,UAAU+K,IAAIpF,EAAKnG,KAOhD,GAAIqO,EAAQzS,KAAK4E,UAAUkL,WAAWvF,EAAKkD,EAAY9I,GACrD4F,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAEF,MAAxBoR,EAAM1I,IAAIjH,OAAO,KAEnBsL,EAAWqE,EAAM1I,IAAIjH,OAAO,IAG9BoQ,GAAe,GACfR,EAAYhD,EAAOA,EAAOrO,OAAS,KAEC,SAAnBqR,EAAUzI,MACzByI,EAAU3I,KAAO0I,EAAM1I,IACvB2I,EAAU1I,MAAQyI,EAAMzI,MAExB0F,EAAO3G,KAAK0J,QAMhB,GAAIlI,EAAK,CACP,IAAIoI,EAAS,0BAA4BpI,EAAIqH,WAAW,GAExD,GAAI5R,KAAKoK,QAAQ3F,OAAQ,CACvB0E,QAAQyJ,MAAMD,GACd,MAEA,MAAM,IAAIE,MAAMF,SAlClBpI,EAAMA,EAAIrE,UAAUuM,EAAM1I,IAAI1I,QAC9BqO,EAAO3G,KAAK0J,GAsChB,OAAO/C,GA/yDW0C,EAkzDPL,EAlzDgCO,EAkzDnB,CAAC,CACzB1Q,IAAK,QACL4R,IAAK,WACH,MAAO,CACL/I,MAAO+G,EACPjE,OAAQkE,OAvzDmBY,EAkzDb,OAjzDJlR,EAAkBiR,EAAYzP,UAAW0P,GACrDC,GAAanR,EAAkBiR,EAAaE,GA0zDzCP,EAhfkB,GAmfvB0B,EAAahQ,EAASA,SACtBiQ,EAAapM,EACbqM,GAAWrM,EAKXsM,GAA0B,WAC5B,SAASC,EAASzJ,GAChBpK,KAAKoK,QAAUA,GAAWqJ,EAG5B,IAAIpJ,EAASwJ,EAASlR,UAwItB,OAtIA0H,EAAOM,KAAO,SAAcmJ,EAAOC,EAAYpL,GAC7C,IAAI0C,GAAQ0I,GAAc,IAAItL,MAAM,OAAO,GAE3C,GAAIzI,KAAKoK,QAAQlG,UAAW,CAC1B,IAAIyN,EAAM3R,KAAKoK,QAAQlG,UAAU4P,EAAOzI,GAE7B,MAAPsG,GAAeA,IAAQmC,IACzBnL,GAAU,EACVmL,EAAQnC,GAMZ,OAFAmC,EAAQA,EAAMnO,QAAQ,MAAO,IAAM,KAE9B0F,EAIE,qBAAuBrL,KAAKoK,QAAQjG,WAAawP,GAAStI,GAAM,GAAQ,MAAQ1C,EAAUmL,EAAQH,GAASG,GAAO,IAAS,kBAHzH,eAAiBnL,EAAUmL,EAAQH,GAASG,GAAO,IAAS,mBAMvEzJ,EAAOyB,WAAa,SAAoBkI,GACtC,MAAO,iBAAmBA,EAAQ,mBAGpC3J,EAAO3E,KAAO,SAAcuO,GAC1B,OAAOA,GAGT5J,EAAOiB,QAAU,SAAiBtB,EAAMd,EAAOa,EAAKmK,GAClD,OAAIlU,KAAKoK,QAAQpG,UACR,KAAOkF,EAAQ,QAAUlJ,KAAKoK,QAAQnG,aAAeiQ,EAAQC,KAAKpK,GAAO,KAAOC,EAAO,MAAQd,EAAQ,MAIzG,KAAOA,EAAQ,IAAMc,EAAO,MAAQd,EAAQ,OAGrDmB,EAAOwB,GAAK,WACV,OAAO7L,KAAKoK,QAAQtF,MAAQ,UAAY,UAG1CuF,EAAO0B,KAAO,SAAcqI,EAAM5H,EAASC,GACzC,IAAIxC,EAAOuC,EAAU,KAAO,KAE5B,MAAO,IAAMvC,GADEuC,GAAqB,IAAVC,EAAc,WAAaA,EAAQ,IAAM,IACpC,MAAQ2H,EAAO,KAAOnK,EAAO,OAG9DI,EAAOgK,SAAW,SAAkBrK,GAClC,MAAO,OAASA,EAAO,WAGzBK,EAAOiK,SAAW,SAAkBvH,GAClC,MAAO,WAAaA,EAAU,cAAgB,IAAM,+BAAiC/M,KAAKoK,QAAQtF,MAAQ,KAAO,IAAM,MAGzHuF,EAAOgD,UAAY,SAAmBrD,GACpC,MAAO,MAAQA,EAAO,UAGxBK,EAAO8C,MAAQ,SAAexB,EAAQyI,GAEpC,OADIA,IAAMA,EAAO,UAAYA,EAAO,YAC7B,qBAA4BzI,EAAS,aAAeyI,EAAO,cAGpE/J,EAAOkK,SAAW,SAAkBC,GAClC,MAAO,SAAWA,EAAU,WAG9BnK,EAAOoK,UAAY,SAAmBD,EAASE,GAC7C,IAAIzK,EAAOyK,EAAM/I,OAAS,KAAO,KAEjC,OADU+I,EAAM9I,MAAQ,IAAM3B,EAAO,WAAayK,EAAM9I,MAAQ,KAAO,IAAM3B,EAAO,KACvEuK,EAAU,KAAOvK,EAAO,OAIvCI,EAAO4G,OAAS,SAAgBjH,GAC9B,MAAO,WAAaA,EAAO,aAG7BK,EAAOgH,GAAK,SAAYrH,GACtB,MAAO,OAASA,EAAO,SAGzBK,EAAO+E,SAAW,SAAkBpF,GAClC,MAAO,SAAWA,EAAO,WAG3BK,EAAOkF,GAAK,WACV,OAAOvP,KAAKoK,QAAQtF,MAAQ,QAAU,QAGxCuF,EAAOmF,IAAM,SAAaxF,GACxB,MAAO,QAAUA,EAAO,UAG1BK,EAAOP,KAAO,SAAc1J,EAAMI,EAAOwJ,GAGvC,GAAa,QAFb5J,EAAOsT,EAAW1T,KAAKoK,QAAQ7F,SAAUvE,KAAKoK,QAAQvG,QAASzD,IAG7D,OAAO4J,EAGT,IAAI2H,EAAM,YAAcgC,GAASvT,GAAQ,IAOzC,OALII,IACFmR,GAAO,WAAanR,EAAQ,KAG9BmR,GAAO,IAAM3H,EAAO,QAItBK,EAAOsK,MAAQ,SAAevU,EAAMI,EAAOwJ,GAGzC,GAAa,QAFb5J,EAAOsT,EAAW1T,KAAKoK,QAAQ7F,SAAUvE,KAAKoK,QAAQvG,QAASzD,IAG7D,OAAO4J,EAGT,IAAI2H,EAAM,aAAevR,EAAO,UAAY4J,EAAO,IAOnD,OALIxJ,IACFmR,GAAO,WAAanR,EAAQ,KAG9BmR,GAAO3R,KAAKoK,QAAQtF,MAAQ,KAAO,KAIrCuF,EAAOL,KAAO,SAAc4K,GAC1B,OAAOA,GAGFf,EA7IqB,GAqJ1BgB,GAA8B,WAChC,SAASC,KAET,IAAIzK,EAASyK,EAAanS,UAsC1B,OApCA0H,EAAO4G,OAAS,SAAgBjH,GAC9B,OAAOA,GAGTK,EAAOgH,GAAK,SAAYrH,GACtB,OAAOA,GAGTK,EAAO+E,SAAW,SAAkBpF,GAClC,OAAOA,GAGTK,EAAOmF,IAAM,SAAaxF,GACxB,OAAOA,GAGTK,EAAO3E,KAAO,SAAcsE,GAC1B,OAAOA,GAGTK,EAAOL,KAAO,SAAc4K,GAC1B,OAAOA,GAGTvK,EAAOP,KAAO,SAAc1J,EAAMI,EAAOwJ,GACvC,MAAO,GAAKA,GAGdK,EAAOsK,MAAQ,SAAevU,EAAMI,EAAOwJ,GACzC,MAAO,GAAKA,GAGdK,EAAOkF,GAAK,WACV,MAAO,IAGFuF,EAzCyB,GAgD9BC,GAAyB,WAC3B,SAASC,IACPhV,KAAKiV,KAAO,GAGd,IAAI5K,EAAS2K,EAAQrS,UAgDrB,OA9CA0H,EAAO6K,UAAY,SAAmB7R,GACpC,OAAOA,EAAMwC,cAAcmD,OAC1BrD,QAAQ,kBAAmB,IAC3BA,QAAQ,gEAAiE,IAAIA,QAAQ,MAAO,MAO/F0E,EAAO8K,gBAAkB,SAAyBC,EAAcC,GAC9D,IAAIlB,EAAOiB,EACPE,EAAuB,EAE3B,GAAItV,KAAKiV,KAAK5M,eAAe8L,GAAO,CAClCmB,EAAuBtV,KAAKiV,KAAKG,GAEjC,GAEEjB,EAAOiB,EAAe,OADtBE,QAEOtV,KAAKiV,KAAK5M,eAAe8L,IAQpC,OALKkB,IACHrV,KAAKiV,KAAKG,GAAgBE,EAC1BtV,KAAKiV,KAAKd,GAAQ,GAGbA,GAST9J,EAAO8J,KAAO,SAAc9Q,EAAO+G,QACjB,IAAZA,IACFA,EAAU,IAGZ,IAAI+J,EAAOnU,KAAKkV,UAAU7R,GAC1B,OAAOrD,KAAKmV,gBAAgBhB,EAAM/J,EAAQmL,SAGrCP,EArDoB,GAwDzBQ,GAAa/R,EAASA,SACtBgS,GAAanO,EAKboO,GAAwB,WAC1B,SAASC,EAAOvL,GACdpK,KAAKoK,QAAUA,GAAWoL,GAC1BxV,KAAKoK,QAAQ9F,SAAWtE,KAAKoK,QAAQ9F,UAAY,IAAIsP,GACrD5T,KAAKsE,SAAWtE,KAAKoK,QAAQ9F,SAC7BtE,KAAKsE,SAAS8F,QAAUpK,KAAKoK,QAC7BpK,KAAK4V,aAAe,IAAIf,GACxB7U,KAAKkU,QAAU,IAAIa,GAOrBY,EAAOE,MAAQ,SAAenG,EAAQtF,GAEpC,OADa,IAAIuL,EAAOvL,GACVyL,MAAMnG,IAOtBiG,EAAOG,YAAc,SAAqBpG,EAAQtF,GAEhD,OADa,IAAIuL,EAAOvL,GACV0L,YAAYpG,IAO5B,IAAIrF,EAASsL,EAAOhT,UAqRpB,OAnRA0H,EAAOwL,MAAQ,SAAenG,EAAQ8C,QACxB,IAARA,IACFA,GAAM,GAGR,IACIpR,EACA0R,EACAC,EACAC,EACA+C,EACA9C,EACA+C,EACArK,EACAyI,EACA3B,EACAjG,EACAC,EACAN,EACA8J,EACAvK,EACAqB,EACAD,EACAwH,EAlBA3C,EAAM,GAmBNzK,EAAIwI,EAAOrO,OAEf,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IAGjB,QAFAqR,EAAQ/C,EAAOtO,IAED6I,MACZ,IAAK,QAED,SAGJ,IAAK,KAED0H,GAAO3R,KAAKsE,SAASuH,KACrB,SAGJ,IAAK,UAED8F,GAAO3R,KAAKsE,SAASgH,QAAQtL,KAAK8V,YAAYrD,EAAM/C,QAAS+C,EAAMjH,MAAOiK,GAAWzV,KAAK8V,YAAYrD,EAAM/C,OAAQ1P,KAAK4V,eAAgB5V,KAAKkU,SAC9I,SAGJ,IAAK,OAEDvC,GAAO3R,KAAKsE,SAASqG,KAAK8H,EAAMzI,KAAMyI,EAAMpH,KAAMoH,EAAM9J,SACxD,SAGJ,IAAK,QAOD,IALAgD,EAAS,GAETqK,EAAO,GACPhD,EAAKP,EAAM9G,OAAOtK,OAEbyR,EAAI,EAAGA,EAAIE,EAAIF,IAClBkD,GAAQhW,KAAKsE,SAASmQ,UAAUzU,KAAK8V,YAAYrD,EAAM/C,OAAO/D,OAAOmH,IAAK,CACxEnH,QAAQ,EACRC,MAAO6G,EAAM7G,MAAMkH,KAQvB,IAJAnH,GAAU3L,KAAKsE,SAASiQ,SAASyB,GACjC5B,EAAO,GACPpB,EAAKP,EAAMjK,MAAMnH,OAEZyR,EAAI,EAAGA,EAAIE,EAAIF,IAAK,CAKvB,IAHAkD,EAAO,GACPD,GAFA9C,EAAMR,EAAM/C,OAAOlH,MAAMsK,IAEhBzR,OAEJ0R,EAAI,EAAGA,EAAIgD,EAAIhD,IAClBiD,GAAQhW,KAAKsE,SAASmQ,UAAUzU,KAAK8V,YAAY7C,EAAIF,IAAK,CACxDpH,QAAQ,EACRC,MAAO6G,EAAM7G,MAAMmH,KAIvBqB,GAAQpU,KAAKsE,SAASiQ,SAASyB,GAGjCrE,GAAO3R,KAAKsE,SAAS6I,MAAMxB,EAAQyI,GACnC,SAGJ,IAAK,aAEDA,EAAOpU,KAAK6V,MAAMpD,EAAM/C,QACxBiC,GAAO3R,KAAKsE,SAASwH,WAAWsI,GAChC,SAGJ,IAAK,OAQD,IANA5H,EAAUiG,EAAMjG,QAChBC,EAAQgG,EAAMhG,MACdN,EAAQsG,EAAMtG,MACd6G,EAAKP,EAAM/F,MAAMrL,OACjB+S,EAAO,GAEFtB,EAAI,EAAGA,EAAIE,EAAIF,IAElB/F,GADArB,EAAO+G,EAAM/F,MAAMoG,IACJ/F,QACfD,EAAOpB,EAAKoB,KACZmJ,EAAW,GAEPvK,EAAKoB,OACPwH,EAAWtU,KAAKsE,SAASgQ,SAASvH,GAE9BZ,EACET,EAAKgE,OAAOrO,OAAS,GAA6B,SAAxBqK,EAAKgE,OAAO,GAAGzF,MAC3CyB,EAAKgE,OAAO,GAAG1F,KAAOsK,EAAW,IAAM5I,EAAKgE,OAAO,GAAG1F,KAElD0B,EAAKgE,OAAO,GAAGA,QAAUhE,EAAKgE,OAAO,GAAGA,OAAOrO,OAAS,GAAuC,SAAlCqK,EAAKgE,OAAO,GAAGA,OAAO,GAAGzF,OACxFyB,EAAKgE,OAAO,GAAGA,OAAO,GAAG1F,KAAOsK,EAAW,IAAM5I,EAAKgE,OAAO,GAAGA,OAAO,GAAG1F,OAG5E0B,EAAKgE,OAAOwG,QAAQ,CAClBjM,KAAM,OACND,KAAMsK,IAIV2B,GAAY3B,GAIhB2B,GAAYjW,KAAK6V,MAAMnK,EAAKgE,OAAQvD,GACpCiI,GAAQpU,KAAKsE,SAAS+P,SAAS4B,EAAUnJ,EAAMC,GAGjD4E,GAAO3R,KAAKsE,SAASyH,KAAKqI,EAAM5H,EAASC,GACzC,SAGJ,IAAK,OAGDkF,GAAO3R,KAAKsE,SAASoB,KAAK+M,EAAMzI,MAChC,SAGJ,IAAK,YAED2H,GAAO3R,KAAKsE,SAAS+I,UAAUrN,KAAK8V,YAAYrD,EAAM/C,SACtD,SAGJ,IAAK,OAID,IAFA0E,EAAO3B,EAAM/C,OAAS1P,KAAK8V,YAAYrD,EAAM/C,QAAU+C,EAAMzI,KAEtD5I,EAAI,EAAI8F,GAA4B,SAAvBwI,EAAOtO,EAAI,GAAG6I,MAEhCmK,GAAQ,OADR3B,EAAQ/C,IAAStO,IACKsO,OAAS1P,KAAK8V,YAAYrD,EAAM/C,QAAU+C,EAAMzI,MAGxE2H,GAAOa,EAAMxS,KAAKsE,SAAS+I,UAAU+G,GAAQA,EAC7C,SAGJ,QAEI,IAAIzB,EAAS,eAAiBF,EAAMxI,KAAO,wBAE3C,GAAIjK,KAAKoK,QAAQ3F,OAEf,YADA0E,QAAQyJ,MAAMD,GAGd,MAAM,IAAIE,MAAMF,GAM1B,OAAOhB,GAOTtH,EAAOyL,YAAc,SAAqBpG,EAAQpL,GAChDA,EAAWA,GAAYtE,KAAKsE,SAC5B,IACIlD,EACAqR,EAFAd,EAAM,GAGNzK,EAAIwI,EAAOrO,OAEf,IAAKD,EAAI,EAAGA,EAAI8F,EAAG9F,IAGjB,QAFAqR,EAAQ/C,EAAOtO,IAED6I,MACZ,IAAK,SAED0H,GAAOrN,EAAS0F,KAAKyI,EAAMzI,MAC3B,MAGJ,IAAK,OAED2H,GAAOrN,EAASoB,KAAK+M,EAAMzI,MAC3B,MAGJ,IAAK,OAED2H,GAAOrN,EAASwF,KAAK2I,EAAMrS,KAAMqS,EAAMjS,MAAOR,KAAK8V,YAAYrD,EAAM/C,OAAQpL,IAC7E,MAGJ,IAAK,QAEDqN,GAAOrN,EAASqQ,MAAMlC,EAAMrS,KAAMqS,EAAMjS,MAAOiS,EAAMzI,MACrD,MAGJ,IAAK,SAED2H,GAAOrN,EAAS2M,OAAOjR,KAAK8V,YAAYrD,EAAM/C,OAAQpL,IACtD,MAGJ,IAAK,KAEDqN,GAAOrN,EAAS+M,GAAGrR,KAAK8V,YAAYrD,EAAM/C,OAAQpL,IAClD,MAGJ,IAAK,WAEDqN,GAAOrN,EAAS8K,SAASqD,EAAMzI,MAC/B,MAGJ,IAAK,KAED2H,GAAOrN,EAASiL,KAChB,MAGJ,IAAK,MAEDoC,GAAOrN,EAASkL,IAAIxP,KAAK8V,YAAYrD,EAAM/C,OAAQpL,IACnD,MAGJ,IAAK,OAEDqN,GAAOrN,EAAS0F,KAAKyI,EAAMzI,MAC3B,MAGJ,QAEI,IAAI2I,EAAS,eAAiBF,EAAMxI,KAAO,wBAE3C,GAAIjK,KAAKoK,QAAQ3F,OAEf,YADA0E,QAAQyJ,MAAMD,GAGd,MAAM,IAAIE,MAAMF,GAM1B,OAAOhB,GAGFgE,EArTmB,GAwTxBQ,GAAU7O,EACV8O,GAA6B9O,EAC7B+O,GAAW/O,EACX1D,GAAcH,EAASG,YACvBmB,GAAiBtB,EAASsB,eAC1BuR,GAAa7S,EAASA,SAK1B,SAAS8S,GAAOhM,EAAK9C,EAAK+O,GAExB,GAAI,MAAOjM,EACT,MAAM,IAAIsI,MAAM,kDAGlB,GAAmB,iBAARtI,EACT,MAAM,IAAIsI,MAAM,wCAA0CnR,OAAOiB,UAAUC,SAASC,KAAK0H,GAAO,qBAWlG,GARmB,mBAAR9C,IACT+O,EAAW/O,EACXA,EAAM,MAGRA,EAAM0O,GAAQ,GAAII,GAAO9S,SAAUgE,GAAO,IAC1C2O,GAA2B3O,GAEvB+O,EAAU,CACZ,IACI9G,EADAxL,EAAYuD,EAAIvD,UAGpB,IACEwL,EAASoC,EAAQG,IAAI1H,EAAK9C,GAC1B,MAAOQ,GACP,OAAOuO,EAASvO,GAGlB,IAAI7E,EAAO,SAAcqT,GACvB,IAAI9E,EAEJ,IAAK8E,EACH,IACE9E,EAAM+D,GAASG,MAAMnG,EAAQjI,GAC7B,MAAOQ,GACPwO,EAAMxO,EAKV,OADAR,EAAIvD,UAAYA,EACTuS,EAAMD,EAASC,GAAOD,EAAS,KAAM7E,IAG9C,IAAKzN,GAAaA,EAAU7C,OAAS,EACnC,OAAO+B,IAIT,UADOqE,EAAIvD,WACNwL,EAAOrO,OAAQ,OAAO+B,IAC3B,IAAIsT,EAAU,EA6Bd,OA5BAH,GAAO1R,WAAW6K,GAAQ,SAAU+C,GACf,SAAfA,EAAMxI,OACRyM,IACAC,YAAW,WACTzS,EAAUuO,EAAMzI,KAAMyI,EAAMpH,MAAM,SAAUoL,EAAK9L,GAC/C,GAAI8L,EACF,OAAOrT,EAAKqT,GAGF,MAAR9L,GAAgBA,IAAS8H,EAAMzI,OACjCyI,EAAMzI,KAAOW,EACb8H,EAAM9J,SAAU,GAKF,KAFhB+N,GAGEtT,SAGH,YAIS,IAAZsT,GACFtT,KAMJ,IACE,IAAIwT,EAAU9E,EAAQG,IAAI1H,EAAK9C,GAM/B,OAJIA,EAAI5C,YACN0R,GAAO1R,WAAW+R,EAASnP,EAAI5C,YAG1B6Q,GAASG,MAAMe,EAASnP,GAC/B,MAAOQ,GAGP,GAFAA,EAAE4O,SAAW,8DAETpP,EAAIhD,OACN,MAAO,iCAAmC4R,GAASpO,EAAE4O,QAAU,IAAI,GAAQ,SAG7E,MAAM5O,GAiMV,OAzLAsO,GAAOnM,QAAUmM,GAAOO,WAAa,SAAUrP,GAG7C,OAFA0O,GAAQI,GAAO9S,SAAUgE,GACzB1C,GAAewR,GAAO9S,UACf8S,IAGTA,GAAO3S,YAAcA,GACrB2S,GAAO9S,SAAW6S,GAKlBC,GAAOQ,IAAM,SAAUC,GACrB,IAAIC,EAAOd,GAAQ,GAAIa,GA8DvB,GA5DIA,EAAU1S,UACZ,WACE,IAAIA,EAAWiS,GAAO9S,SAASa,UAAY,IAAIsP,GAE3CsD,EAAQ,SAAeC,GACzB,IAAIC,EAAe9S,EAAS6S,GAE5B7S,EAAS6S,GAAQ,WACf,IAAK,IAAIE,EAAOjP,UAAU/G,OAAQiW,EAAO,IAAIrV,MAAMoV,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQnP,UAAUmP,GAGzB,IAAIC,EAAMR,EAAU1S,SAAS6S,GAAMM,MAAMnT,EAAUgT,GAMnD,OAJY,IAARE,IACFA,EAAMJ,EAAaK,MAAMnT,EAAUgT,IAG9BE,IAIX,IAAK,IAAIL,KAAQH,EAAU1S,SACzB4S,EAAMC,GAGRF,EAAK3S,SAAWA,EAzBlB,GA6BE0S,EAAUpS,WACZ,WACE,IAAIA,EAAY2R,GAAO9S,SAASmB,WAAa,IAAIsF,EAE7CwN,EAAS,SAAgBP,GAC3B,IAAIQ,EAAgB/S,EAAUuS,GAE9BvS,EAAUuS,GAAQ,WAChB,IAAK,IAAIS,EAAQxP,UAAU/G,OAAQiW,EAAO,IAAIrV,MAAM2V,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFP,EAAKO,GAASzP,UAAUyP,GAG1B,IAAIL,EAAMR,EAAUpS,UAAUuS,GAAMM,MAAM7S,EAAW0S,GAMrD,OAJY,IAARE,IACFA,EAAMG,EAAcF,MAAM7S,EAAW0S,IAGhCE,IAIX,IAAK,IAAIL,KAAQH,EAAUpS,UACzB8S,EAAOP,GAGTF,EAAKrS,UAAYA,EAzBnB,GA6BEoS,EAAUnS,WAAY,CACxB,IAAIA,EAAa0R,GAAO9S,SAASoB,WAEjCoS,EAAKpS,WAAa,SAAU4N,GAC1BuE,EAAUnS,WAAW4N,GAEjB5N,GACFA,EAAW4N,IAKjB8D,GAAOO,WAAWG,IAOpBV,GAAO1R,WAAa,SAAU6K,EAAQ8G,GACpC,IAAK,IAAyDsB,EAArDC,EAAY7V,EAAgCwN,KAAkBoI,EAAQC,KAAa3U,MAAO,CACjG,IAAIqP,EAAQqF,EAAMzU,MAGlB,OAFAmT,EAAS/D,GAEDA,EAAMxI,MACZ,IAAK,QAED,IAAK,IAAuE+N,EAAnEC,EAAa/V,EAAgCuQ,EAAM/C,OAAO/D,UAAmBqM,EAASC,KAAc7U,MAAO,CAClH,IAAI4S,EAAOgC,EAAO3U,MAClBkT,GAAO1R,WAAWmR,EAAMQ,GAG1B,IAAK,IAAsE0B,EAAlEC,EAAajW,EAAgCuQ,EAAM/C,OAAOlH,SAAkB0P,EAASC,KAAc/U,MAG1G,IAFA,IAE4DgV,EAAnDC,EAAanW,EAFZgW,EAAO7U,SAEqD+U,EAASC,KAAcjV,MAAO,CAClG,IAAIkV,EAAQF,EAAO/U,MACnBkT,GAAO1R,WAAWyT,EAAO9B,GAI7B,MAGJ,IAAK,OAEDD,GAAO1R,WAAW4N,EAAM/F,MAAO8J,GAC/B,MAGJ,QAEQ/D,EAAM/C,QACR6G,GAAO1R,WAAW4N,EAAM/C,OAAQ8G,MAW5CD,GAAOT,YAAc,SAAUvL,EAAK9C,GAElC,GAAI,MAAO8C,EACT,MAAM,IAAIsI,MAAM,8DAGlB,GAAmB,iBAARtI,EACT,MAAM,IAAIsI,MAAM,oDAAsDnR,OAAOiB,UAAUC,SAASC,KAAK0H,GAAO,qBAG9G9C,EAAM0O,GAAQ,GAAII,GAAO9S,SAAUgE,GAAO,IAC1C2O,GAA2B3O,GAE3B,IACE,IAAIiI,EAASoC,EAAQI,UAAU3H,EAAK9C,GAMpC,OAJIA,EAAI5C,YACN0R,GAAO1R,WAAW6K,EAAQjI,EAAI5C,YAGzB6Q,GAASI,YAAYpG,EAAQjI,GACpC,MAAOQ,GAGP,GAFAA,EAAE4O,SAAW,8DAETpP,EAAIhD,OACN,MAAO,iCAAmC4R,GAASpO,EAAE4O,QAAU,IAAI,GAAQ,SAG7E,MAAM5O,IAQVsO,GAAOZ,OAASD,GAChBa,GAAOgC,OAAS7C,GAASG,MACzBU,GAAO1C,SAAWD,GAClB2C,GAAOzB,aAAeD,GACtB0B,GAAOxE,MAAQD,EACfyE,GAAOiC,MAAQ1G,EAAQG,IACvBsE,GAAOpM,UAAYD,EACnBqM,GAAOvB,QAAUD,GACjBwB,GAAOV,MAAQU,GACAA,GAzrFiEkC","file":"ceef5ee72ab243a7de6539e8a156c87894432621-a7a455c889c17fcea5a2.js","sourcesContent":["import React from \"react\";\nimport styled from \"styled-components\";\n\n// Utils\nimport { Font, Color, rem, rgba, responsive } from \"../../utils/style\";\n\n// Components\nimport MagicLink from \"../MagicLink\";\n\n// Styled Elements\nconst StyledButton = styled(MagicLink)`\n box-sizing: border-box;\n padding: 0 24px;\n border-radius: 26px;\n height: 50px;\n cursor: pointer;\n background-color: ${Color.ritualBlue};\n border: 2px solid ${Color.ritualBlue};\n margin: 0;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n position: relative;\n\n ${responsive.sm`\n padding: 0 30px;\n `};\n\n * {\n font-weight: 500;\n }\n\n &.bordered {\n background-color: transparent;\n }\n\n &.short {\n height: 40px;\n }\n\n &.fullwidth {\n width: 100%;\n }\n\n &.long-text {\n padding: 0 20px;\n\n ${responsive.sm`\n padding: 0 20px;\n `}\n }\n\n &:hover {\n border-color: ${Color.ritualYellow} !important;\n background-color: ${Color.ritualYellow} !important;\n\n span {\n color: ${Color.ritualBlue} !important;\n\n &:before {\n background-color: ${Color.ritualBlue} !important;\n }\n }\n }\n\n &.alt-hover {\n &:hover {\n border-color: ${Color.white} !important;\n background-color: ${Color.white} !important;\n\n span {\n color: ${Color.ritualBlue} !important;\n\n &:before {\n background-color: ${Color.ritualBlue} !important;\n }\n }\n }\n }\n\n &.primary-cta {\n background-color: white !important;\n border: none !important;\n color: ${Color.ritualBlue} !important;\n &:hover {\n color: white !important;\n background-color: ${Color.ritualBlue} !important;\n\n span {\n color: white !important;\n }\n }\n\n span {\n color: ${Color.ritualBlue} !important;\n }\n }\n\n &.yellow-cta {\n background-color: ${Color.ritualYellow} !important;\n border: none !important;\n color: ${Color.ritualBlue} !important;\n\n span {\n color: ${Color.ritualBlue} !important;\n\n &:before {\n background-color: ${Color.ritualBlue} !important;\n }\n }\n\n &:hover {\n color: white !important;\n background-color: ${Color.ritualBlue} !important;\n\n span {\n color: ${Color.white} !important;\n\n &:before {\n background-color: ${Color.white} !important;\n }\n }\n }\n\n &.disabled {\n background-color: ${Color.ritualBlue} !important;\n\n span {\n color: ${Color.white} !important;\n\n &:before {\n background-color: ${Color.white} !important;\n }\n }\n }\n }\n\n &.disabled {\n opacity: 0.24;\n cursor: default;\n pointer-events: none;\n\n &:hover {\n background-color: ${Color.ritualBlue} !important;\n border: 2px solid ${Color.ritualBlue} !important;\n\n span {\n color: white !important;\n\n &:before {\n background-color: white !important;\n }\n }\n }\n }\n\n &.outlined {\n background-color: white;\n border: 1px solid ${rgba(Color.ritualBlue, 0.16)} !important;\n\n span {\n color: ${Color.ritualBlue};\n }\n\n &:hover {\n background-color: ${Color.ritualBlue} !important;\n\n span {\n color: white !important;\n }\n\n &:before {\n background-color: ${Color.ritualBlue} !important;\n }\n }\n }\n`;\n\nconst StyledTextWrapper = styled.div`\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledText = styled.span`\n ${Font.circular}\n font-size: ${rem(16)};\n line-height: ${rem(26)};\n font-weight: 500;\n color: ${Color.white};\n transition: all 0.2s;\n display: flex;\n align-items: center;\n align-content: center;\n\n &.short {\n font-size: ${rem(14)};\n line-height: ${rem(24)};\n }\n\n .isvg {\n height: auto;\n display: flex;\n }\n\n &.outlined {\n font-size: ${rem(14)};\n line-height: ${rem(24)};\n\n ${responsive.md`\n font-size: ${rem(16)};\n line-height: ${rem(26)};\n `}\n }\n\n &.bordered {\n color: ${Color.ritualBlue};\n\n span {\n color: ${Color.ritualBlue};\n\n &:before {\n background-color: ${Color.ritualBlue};\n }\n }\n }\n`;\n\nconst AppendText = styled.span`\n position: relative;\n ${Font.circular}\n font-size: ${rem(16)};\n line-height: ${rem(26)};\n font-weight: 500;\n color: ${Color.white};\n transition: all 0.2s;\n padding-left: 10px;\n margin-left: 8px;\n\n &.short {\n font-size: ${rem(14)};\n line-height: ${rem(24)};\n\n &:before {\n height: 16px;\n }\n }\n\n &:before {\n position: absolute;\n content: '';\n top: 50%;\n transform: translateY(-50%);\n height: 24px;\n left: 0;\n width: 1px;\n background-color: ${Color.white};\n transition: all 0.2s;\n opacity: 0.56;\n }\n`;\n\nexport default class MagicButton extends React.Component {\n render() {\n let {\n to,\n state,\n href,\n children,\n className,\n target,\n title,\n append,\n onClick,\n ariaLabel,\n id,\n disabled,\n } = this.props;\n\n if (disabled) {\n className = `${className || \"\"} disabled`;\n }\n\n let settings = {\n to,\n state,\n href,\n title,\n target,\n className,\n ariaLabel,\n id,\n };\n\n if (onClick) {\n settings.onClick = disabled ? null : onClick;\n }\n\n return (\n \n \n {children}\n {append && {append}}\n \n \n );\n }\n}\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2021, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.marked = factory());\n})(this, function () {\n 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n }\n\n function createCommonjsModule(fn) {\n var module = {\n exports: {}\n };\n return fn(module, module.exports), module.exports;\n }\n\n var defaults = createCommonjsModule(function (module) {\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 tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n }\n\n module.exports = {\n defaults: getDefaults(),\n getDefaults: getDefaults,\n changeDefaults: changeDefaults\n };\n });\n /**\n * Helpers\n */\n\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function 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\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function 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: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function 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\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest = {\n exec: function noopTest() {}\n };\n\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\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\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\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 var i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\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\n return cells;\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.\n\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\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\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\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\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function 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 } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n var helpers = {\n escape: escape,\n unescape: unescape,\n edit: edit,\n cleanUrl: cleanUrl,\n resolveUrl: resolveUrl,\n noopTest: noopTest,\n merge: merge,\n splitCells: splitCells,\n rtrim: rtrim,\n findClosingBracket: findClosingBracket,\n checkSanitizeDeprecation: checkSanitizeDeprecation,\n repeatString: repeatString\n };\n var defaults$1 = defaults.defaults;\n var rtrim$1 = helpers.rtrim,\n splitCells$1 = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket$1 = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n return {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text\n };\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: _escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$1;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim$1(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim$1(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text\n };\n }\n };\n\n _proto.nptable = function nptable(src) {\n var cap = this.rules.block.nptable.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : [],\n raw: cap[0]\n };\n\n if (item.header.length === item.align.length) {\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; 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 l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i], item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var bull = cap[2];\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: raw,\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n }; // Get each top-level item.\n\n var itemMatch = cap[0].match(this.rules.block.item);\n var next = false,\n item,\n space,\n bcurr,\n bnext,\n addBack,\n loose,\n istask,\n ischecked;\n var l = itemMatch.length;\n bcurr = this.rules.block.listItemStart.exec(itemMatch[0]);\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item; // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n if (i !== l - 1) {\n bnext = this.rules.block.listItemStart.exec(itemMatch[i + 1]);\n\n if (!this.options.pedantic ? bnext[1].length > bcurr[0].length || bnext[1].length > 3 : bnext[1].length > bcurr[1].length) {\n // nested list\n itemMatch.splice(i, 2, itemMatch[i] + '\\n' + itemMatch[i + 1]);\n i--;\n l--;\n continue;\n } else {\n if ( // different bullet style\n !this.options.pedantic || this.options.smartLists ? bnext[2][bnext[2].length - 1] !== bull[bull.length - 1] : isordered === (bnext[2].length === 1)) {\n addBack = itemMatch.slice(i + 1).join('\\n');\n list.raw = list.raw.substring(0, list.raw.length - addBack.length);\n i = l - 1;\n }\n }\n\n bcurr = bnext;\n } // Remove the list item's bullet\n // so it is seen as the next token.\n\n\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+[.)]) ?/, ''); // Outdent whatever the\n // list item contains. Hacky.\n\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n } // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n\n\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n list.loose = true;\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: istask,\n checked: ischecked,\n loose: loose,\n text: item\n });\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n return {\n type: this.options.sanitize ? 'paragraph' : 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (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 }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(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 item.raw = cap[0];\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; 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 l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''), item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n return {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n };\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0]\n };\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src, inLink, inRawBlock) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!inLink && /^/i.test(cap[0])) {\n inLink = false;\n }\n\n if (!inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = true;\n } else if (inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: inLink,\n inRawBlock: inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim$1(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket$1(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var 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 }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0]);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0]);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return;\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength); // Bump maskedSrc to same section of string as src (move to lexer?)\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // matched the first alternative in rules.js (skip the * in __abc*abc__)\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // If this is the last rDelimiter, remove extra characters. *a*** -> *a*\n\n if (delimTotal + midDelimTotal - rLength <= 0 && !maskedSrc.slice(endReg.lastIndex).match(endReg)) {\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n }\n\n if (Math.min(lLength, rLength) % 2) {\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(1, lLength + match.index + rLength)\n };\n }\n\n if (Math.min(lLength, rLength) % 2 === 0) {\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(2, lLength + match.index + rLength - 1)\n };\n }\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2]\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, inRawBlock, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest$1 = helpers.noopTest,\n edit$1 = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\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})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?! {0,3}bull )\\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$1,\n table: noopTest$1,\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]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.item = /^( *)(bull) ?[^\\n]*(?:\\n(?! *bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.listItemStart = edit$1(/^( *)(bull)/).replace('bull', block.bullet).getRegex();\n block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /|$)/;\n block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge$1({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge$1({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' {0,3}\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.table = edit$1(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge$1({}, block.normal, {\n html: edit$1('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest$1,\n // fences not supported\n paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest$1,\n tag: '^comment' + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip other delimiter (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /\\_\\_[^_]*?\\*[^_]*?\\_\\_|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /\\*\\*[^*]*?\\_[^*]*?\\*\\*|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest$1,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline.punctuation = edit$1(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline._comment = edit$1(block._comment).replace('(?:-->|$)', '-->').getRegex();\n inline.emStrong.lDelim = edit$1(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimAst = edit$1(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimUnd = edit$1(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._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])?)+(?![-_])/;\n inline.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit$1(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex();\n inline.reflinkSearch = edit$1(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge$1({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge$1({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit$1(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit$1(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge$1({}, inline.normal, {\n escape: edit$1(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~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer_1 = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$2;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer_1();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n var rules = {\n block: block$1.normal,\n inline: inline$1.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block$1.pedantic;\n rules.inline = inline$1.pedantic;\n } else if (this.options.gfm) {\n rules.block = block$1.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline$1.breaks;\n } else {\n rules.inline = inline$1.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n /**\n * Static Lex Method\n */\n\n\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ');\n this.blockTokens(src, this.tokens, true);\n this.inline(this.tokens);\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens, top) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (top === void 0) {\n top = true;\n }\n\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n\n var token, i, l, lastToken;\n\n while (src) {\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // table no leading pipe (gfm)\n\n\n if (token = this.tokenizer.nptable(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.blockTokens(token.text, [], top);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n l = token.items.length;\n\n for (i = 0; i < l; i++) {\n token.items[i].tokens = this.blockTokens(token.items[i].text, [], false);\n }\n\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (top && (token = this.tokenizer.def(src))) {\n src = src.substring(token.raw.length);\n\n if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n\n\n if (top && (token = this.tokenizer.paragraph(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _proto.inline = function inline(tokens) {\n var i, j, k, l2, row, token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'paragraph':\n case 'text':\n case 'heading':\n {\n token.tokens = [];\n this.inlineTokens(token.text, token.tokens);\n break;\n }\n\n case 'table':\n {\n token.tokens = {\n header: [],\n cells: []\n }; // header\n\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n token.tokens.header[j] = [];\n this.inlineTokens(token.header[j], token.tokens.header[j]);\n } // cells\n\n\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.cells[j];\n token.tokens.cells[j] = [];\n\n for (k = 0; k < row.length; k++) {\n token.tokens.cells[j][k] = [];\n this.inlineTokens(row[k], token.tokens.cells[j][k]);\n }\n }\n\n break;\n }\n\n case 'blockquote':\n {\n this.inline(token.tokens);\n break;\n }\n\n case 'list':\n {\n l2 = token.items.length;\n\n for (j = 0; j < l2; j++) {\n this.inline(token.items[j].tokens);\n }\n\n break;\n }\n }\n }\n\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens, inLink, inRawBlock) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (inLink === void 0) {\n inLink = false;\n }\n\n if (inRawBlock === void 0) {\n inRawBlock = false;\n }\n\n var token, lastToken; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString$1('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString$1('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // escape\n\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src, inLink, inRawBlock)) {\n src = src.substring(token.raw.length);\n inLink = token.inLink;\n inRawBlock = token.inRawBlock;\n var _lastToken = tokens[tokens.length - 1];\n\n if (_lastToken && token.type === 'text' && _lastToken.type === 'text') {\n _lastToken.raw += token.raw;\n _lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n var _lastToken2 = tokens[tokens.length - 1];\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n tokens.push(token);\n } else if (_lastToken2 && token.type === 'text' && _lastToken2.type === 'text') {\n _lastToken2.raw += token.raw;\n _lastToken2.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block$1,\n inline: inline$1\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$3 = defaults.defaults;\n var cleanUrl$1 = helpers.cleanUrl,\n escape$1 = helpers.escape;\n /**\n * Renderer\n */\n\n var Renderer_1 = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || defaults$3;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n _code = _code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '
' + (escaped ? _code : escape$1(_code, true)) + '
\\n';\n }\n\n return '
' + (escaped ? _code : escape$1(_code, true)) + '
\\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '
\\n' + quote + '
\\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '' + text + '\\n';\n } // ignore IDs\n\n\n return '' + text + '\\n';\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n };\n\n _proto.paragraph = function paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n _proto.table = function table(header, body) {\n if (body) body = '' + body + '';\n return '\\n' + '\\n' + header + '\\n' + body + '
    \\n';\n };\n\n _proto.tablerow = function tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' align=\"' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '\\n';\n } // span level renderer\n ;\n\n _proto.strong = function strong(text) {\n return '' + text + '';\n };\n\n _proto.em = function em(text) {\n return '' + text + '';\n };\n\n _proto.codespan = function codespan(text) {\n return '' + text + '';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n _proto.del = function del(text) {\n return '' + text + '';\n };\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '
    ';\n return out;\n };\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n\n\n var TextRenderer_1 = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype; // no need for block level renderers\n\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n /**\n * Slugger generates header id\n */\n\n\n var Slugger_1 = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n\n var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n }\n /**\n * Finds the next safe (unique) slug to use\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n };\n\n return Slugger;\n }();\n\n var defaults$4 = defaults.defaults;\n var unescape$1 = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$4;\n this.options.renderer = this.options.renderer || new Renderer_1();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer_1();\n this.slugger = new Slugger_1();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape$1(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.tokens.header[j]), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.tokens.cells[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k]), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'text') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n var merge$2 = helpers.merge,\n checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation,\n escape$2 = helpers.escape;\n var getDefaults = defaults.getDefaults,\n changeDefaults = defaults.changeDefaults,\n defaults$5 = defaults.defaults;\n /**\n * Marked\n */\n\n function 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\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer_1.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n out = Parser_1.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n var _tokens = Lexer_1.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser_1.parse(_tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape$2(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge$2(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults$5;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge$2({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer_1();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop];\n\n renderer[prop] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var ret = extension.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (extension.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer_1();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop];\n\n tokenizer[prop] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = extension.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n }\n\n if (extension.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n extension.walkTokens(token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n marked.setOptions(opts);\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n };\n /**\n * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n try {\n var tokens = Lexer_1.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser_1.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape$2(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser_1;\n marked.parser = Parser_1.parse;\n marked.Renderer = Renderer_1;\n marked.TextRenderer = TextRenderer_1;\n marked.Lexer = Lexer_1;\n marked.lexer = Lexer_1.lex;\n marked.Tokenizer = Tokenizer_1;\n marked.Slugger = Slugger_1;\n marked.parse = marked;\n var marked_1 = marked;\n return marked_1;\n});"],"sourceRoot":""}