{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/SearchSuggestions.vue?2290","webpack:///./src/App.vue?bd4a","webpack:///./src/router/router.js","webpack:///./src/App.vue","webpack:///./src/components/Navigation.vue","webpack:///./src/components/SearchSuggestions.vue","webpack:///./src/components/SearchSuggestions.vue?f193","webpack:///./src/components/Navigation.vue?e903","webpack:///./src/App.vue?dfb6","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","routes","path","component","router","createRouter","history","createWebHistory","scrollBehavior","_to","_from","savedPosition","scrollTo","style","aria-label","class","darkMode","backgroundColor","foregroundColor","Component","max","$route","fullPath","icon","alt","height","width","uk-navbar","to","placeholder","searchText","onKeyUp","onInputFocus","onInputBlur","shouldShowLogin","authenticated","onSearchTextChange","ref","suggestionsVisible","secondaryBackgroundColor","searchSuggestions","suggestion","selected","secondaryForegroundColor","onMouseOver","onClick","props","String","methods","this","setSelected","preventDefault","refreshSuggestions","fetchJson","apiUrl","query","unshift","$router","search_query","val","$emit","render","components","SearchSuggestions","computed","_this","getAuthToken","blur","$refs","Navigation","location","pathname","getPreferenceString","library","add","faThumbsUp","faThumbsDown","faEye","faGithub","faBitcoin","faThumbtack","faCheck","faHeart","faHeadphones","faYoutube","faRss","faChevronLeft","TimeAgo","addDefaultLocale","en","timeAgo","mixin","timeFormat","duration","pad","num","size","time","parseFloat","toFixed","hours","Math","floor","minutes","seconds","str","numberFormat","digits","si","symbol","rx","replace","addCommas","parseInt","toLocaleString","url","params","options","param","URL","searchParams","set","fetch","response","json","purifyHTML","original","DOMPurify","sanitize","setPreference","localStorage","setItem","getPreferenceBoolean","defaultVal","getItem","getPreferenceNumber","Number","getEffectiveTheme","theme","matchMedia","matches","hashCode","split","reduce","a","b","charCodeAt","format","urlify","string","regex","app","createApp","App","use","FontAwesomeIcon","mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAI5kB,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACrER,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACpjByC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,2EC1QT,W,oCCAA,W,+JCEA,MAAM+F,EAAS,CACX,CACIC,KAAM,IACNjC,KAAM,WACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,eACNjC,KAAM,cACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,WACNjC,KAAM,gBACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,YACNjC,KAAM,WACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,qCACNjC,KAAM,aACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,6CACNjC,KAAM,UACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,SACNjC,KAAM,QACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,YACNjC,KAAM,WACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,QACNjC,KAAM,OACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,UACNjC,KAAM,SACNkC,UAAW,IAAM,iDAErB,CACID,KAAM,+BACNC,UAAW,IAAM,iDAErB,CACID,KAAM,iBACNjC,KAAM,gBACNkC,UAAW,IAAM,kDAInBC,EAASC,eAAa,CACxBC,QAASC,iBACTN,SACAO,eAAgB,SAASC,EAAKC,EAAOC,GACjC,OAAOA,GAAgCb,OAAOc,SAAS,EAAG,MAInDR,Q,SC3DFS,MAAA,yB,GACEC,aAAW,SAAStF,KAAK,sC,iBAExB,O,GAEDA,KAAK,gD,iBAC8D,e,2JAlB9E,gCAsBM,OArBFuF,MAAK,6BAAC,sDAAqD,YAErC,EAAAC,YADrBH,MAAK,yCAAiB,EAAAI,gBAAe,OAAU,EAAAC,oB,CAGhD,eAAc,GACd,eAIc,Q,uBAHV,EADmBC,eAAS,E,iBAC5B,eAEa,QAFAC,IAAK,GAAC,E,iBACf,eAAoD,eAAbD,GAAS,CAApC7B,IAAK,EAAA+B,OAAOC,a,eAIhC,gCASM,MATN,EASM,CARF,gCAEI,IAFJ,EAEI,CADA,eAAiE,GAA7CC,KAAM,CAAC,MAAO,c,EAGtC,gCAGI,IAHJ,EAGI,CAFA,eAAkE,GAA9CA,KAAM,CAAC,MAAO,a,mBCbrCR,MAAM,kB,EAEF,gCAAmH,OAA9GS,IAAI,OAAO9E,IAAI,sBAAsB+E,OAAO,KAAKC,MAAM,KAAKb,MAAA,gD,0BAAkD,Q,GAGvHE,MAAM,yC,GAWNA,MAAM,mB,GACHA,MAAM,iB,iBAE6B,e,2BAGN,S,2BAGG,Y,2BAGJ,Q,GAKnCA,MAAM,mC,yKAtCX,gCAqCM,OApCFA,MAAM,+DACLF,MAAK,yCAAiB,EAAAI,gBAAe,OAAU,EAAAC,mBAChDS,YAAA,I,CAEA,gCAIM,MAJN,EAIM,CAHF,eAEC,GAFYZ,MAAM,sCAAuCF,MAAK,qCAAa,EAAAK,mBAAoBU,GAAG,K,wBAC9F,IAAmH,CAAnH,E,wBAGT,gCAUM,MAVN,EAUM,C,eATF,gCAQE,SAPEb,MAAM,2BACN3E,KAAK,OACLyF,YAAY,S,qCACH,EAAAC,WAAU,GAClB,QAAK,oBAAE,EAAAC,SAAA,EAAAA,WAAA,IACP,QAAK,oBAAE,EAAAC,cAAA,EAAAA,gBAAA,IACP,OAAI,oBAAE,EAAAC,aAAA,EAAAA,eAAA,K,mBAHE,EAAAH,gBAMjB,gCAeM,MAfN,EAeM,CAdF,gCAaK,KAbL,EAaK,CAZD,gCAEK,WADD,eAAwD,GAA3CF,GAAG,gBAAc,C,uBAAC,IAAW,C,YAEpC,EAAAM,iB,iBAAV,gCAEK,QADD,eAA4C,GAA/BN,GAAG,UAAQ,C,uBAAC,IAAK,C,mCAExB,EAAAM,iB,iBAAV,gCAEK,QADD,eAAkD,GAArCN,GAAG,aAAW,C,uBAAC,IAAQ,C,mCAE9B,EAAAO,e,iBAAV,gCAEK,QADD,eAA0C,GAA7BP,GAAG,SAAO,C,uBAAC,IAAI,C,2CAK5C,gCAUM,MAVN,EAUM,C,eATF,gCAQE,SAPEb,MAAM,WACN3E,KAAK,OACLyF,YAAY,S,qCACH,EAAAC,WAAU,GAClB,QAAK,oBAAE,EAAAC,SAAA,EAAAA,WAAA,IACP,QAAK,oBAAE,EAAAC,cAAA,EAAAA,gBAAA,IACP,OAAI,oBAAE,EAAAC,aAAA,EAAAA,eAAA,K,mBAHE,EAAAH,gB,eAMjB,eAKE,GAHGA,WAAY,EAAAA,WACZ,eAAc,EAAAM,mBACfC,IAAI,qB,iDAHI,EAAAP,YAAc,EAAAQ,uB,aC9ClBvB,MAAM,8C,gFAJd,gCAgBM,OAfFA,MAAM,0EACLF,MAAK,yCAAiB,EAAA0B,6B,CAEvB,gCAWK,KAXL,EAWK,E,mBAVD,gCASK,2BARyB,EAAAC,kBAAiB,CAAnCC,EAAYrJ,K,iBADxB,gCASK,MAPAkG,IAAKlG,EACLyH,MAAK,6BAAG,EAAA6B,WAAatJ,EAAC,YAAiB,EAAAuJ,0BAAwB,KAC/D,YAAS,GAAE,EAAAC,YAAYxJ,GACvB,YAAS,kBAAO,EAAAyJ,QAAQzJ,GAAC,UAC1B2H,MAAM,+B,eAEH0B,GAAU,Q,YAOd,OACXK,MAAO,CACHhB,WAAYiB,QAEhB,OACI,MAAO,CACHL,SAAU,EACVF,kBAAmB,KAG3BQ,QAAS,CACL,QAAQ9H,GACU,YAAVA,EAAEoE,KACE2D,KAAKP,UAAY,EACjBO,KAAKC,YAAYD,KAAKT,kBAAkBlJ,OAAS,GAEjD2J,KAAKC,YAAYD,KAAKP,SAAW,GAErCxH,EAAEiI,kBACe,cAAVjI,EAAEoE,KACL2D,KAAKP,UAAYO,KAAKT,kBAAkBlJ,OAAS,EACjD2J,KAAKC,YAAY,GAEjBD,KAAKC,YAAYD,KAAKP,SAAW,GAErCxH,EAAEiI,kBAEFF,KAAKG,sBAGb,2BACIH,KAAKT,wBAA0BS,KAAKI,UAAUJ,KAAKK,SAAW,eAAgB,CAC1EC,MAAON,KAAKnB,aAEhBmB,KAAKT,kBAAkBgB,QAAQP,KAAKnB,YACpCmB,KAAKC,YAAY,IAErB,YAAY9J,GACJA,IAAM6J,KAAKP,WACXO,KAAKP,SAAWtJ,IAGxB,QAAQA,GACJ6J,KAAKC,YAAY9J,GACjB6J,KAAKQ,QAAQ7J,KAAK,CACdqE,KAAM,gBACNsF,MAAO,CAAEG,aAAcT,KAAKT,kBAAkBpJ,OAGtD,YAAYuK,GACRV,KAAKP,SAAWiB,EAChBV,KAAKW,MAAM,eAAgBX,KAAKT,kBAAkBS,KAAKP,c,UCnEnE,EAAOmB,OAAS,EAED,QFsDA,GACXC,WAAY,CACRC,qBAEJ,OACI,MAAO,CACHjC,WAAY,GACZQ,oBAAoB,IAG5B0B,SAAU,CACN,gBAAgBC,GACZ,OAA+B,MAAxBA,EAAMC,iBAGrBlB,QAAS,CACL,QAAQ9H,GACJ,GAAc,UAAVA,EAAEoE,IAMF,OALApE,EAAEuB,OAAO0H,YACTlB,KAAKQ,QAAQ7J,KAAK,CACdqE,KAAM,gBACNsF,MAAO,CAAEG,aAAcT,KAAKnB,cAGf,YAAV5G,EAAEoE,KAA+B,cAAVpE,EAAEoE,KAChCpE,EAAEiI,iBAENF,KAAKmB,MAAM5B,kBAAkBT,QAAQ7G,IAEzC,eACI+H,KAAKX,oBAAqB,GAE9B,cACIW,KAAKX,oBAAqB,GAE9B,mBAAmBR,GACfmB,KAAKnB,WAAaA,KG9F9B,EAAO+B,OAAS,EAED,QJuBA,GACXC,WAAY,CACRO,cAEJ,UACI,GAAiC,MAA7BvE,OAAOwE,SAASC,UAAuD,GAAnCzE,OAAOwE,SAASC,SAASjL,OAC7D,OAAQ2J,KAAKuB,oBAAoB,WAAY,aACzC,IAAK,WACD,MACJ,IAAK,OAED,YADAvB,KAAKQ,QAAQ7J,KAAK,SAEtB,QACI,S,UKpCpB,EAAOiK,OAASA,EAED,Q,6CCQfY,OAAQC,IACJC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,QAGJ,oDACA,oDAWAC,OAAQC,iBAAiBC,GAEzB,MAAMC,EAAU,IAAIH,OAAQ,SAE5B,gDAEA,MAAMI,EAAQ,CACV3C,QAAS,CACL4C,WAAY,SAASC,GACjB,IAAIC,EAAM,SAASC,EAAKC,GACpB,OAAQ,MAAQD,GAAK/F,OAAc,EAARgG,IAG3BC,EAAOC,WAAWL,GAAUM,QAAQ,GACpCC,EAAQC,KAAKC,MAAML,EAAO,GAAK,IAC/BM,EAAUF,KAAKC,MAAML,EAAO,IAAM,GAClCO,EAAUH,KAAKC,MAAML,EAAiB,GAAVM,GAE5BE,EAAM,GAMV,OAJIL,EAAQ,IAAGK,GAAOL,EAAQ,KAE9BK,GAAOX,EAAIS,EAAS,GAAK,IAAMT,EAAIU,EAAS,GAErCC,GAEXC,aAAaX,GACT,MAAMY,EAAS,EACTC,EAAK,CACP,CAAE5H,MAAO,EAAG6H,OAAQ,IACpB,CAAE7H,MAAO,IAAK6H,OAAQ,KACtB,CAAE7H,MAAO,IAAK6H,OAAQ,KACtB,CAAE7H,MAAO,IAAK6H,OAAQ,MAEpBC,EAAK,2BACX,IAAK,IAAI1N,EAAIwN,EAAGtN,OAAS,EAAGF,EAAI,EAAGA,IAC/B,GAAI2M,GAAOa,EAAGxN,GAAG4F,MACb,MAGR,OAAQ+G,EAAMa,EAAGxN,GAAG4F,OAAOmH,QAAQQ,GAAQI,QAAQD,EAAI,MAAQF,EAAGxN,GAAGyN,QAEzEG,UAAUjB,GAEN,OADAA,EAAMkB,SAASlB,GACRA,EAAImB,eAAe,UAE9B7D,UAAW,SAAS8D,EAAKC,EAAQC,GAC7B,GAAID,EAEA,IAAK,IAAIE,KADTH,EAAM,IAAII,IAAIJ,GACIC,EAAQD,EAAIK,aAAaC,IAAIH,EAAOF,EAAOE,IAEjE,OAAOI,MAAMP,EAAKE,GAASnK,KAAKyK,GACrBA,EAASC,SAGxBC,WAAWC,GACP,OAAOC,IAAUC,SAASF,IAE9BG,cAAc3I,EAAKN,GACXkJ,cAAcA,aAAaC,QAAQ7I,EAAKN,IAEhDoJ,qBAAqB9I,EAAK+I,GACtB,IAAIrJ,EACJ,UACyCd,KAApCc,EAAQiE,KAAK5B,OAAOkC,MAAMjE,KAC1B4I,cAAwD,QAAvClJ,EAAQkJ,aAAaI,QAAQhJ,KAW5C,OAAO+I,EATV,OAAQtF,OAAO/D,IACX,IAAK,OACL,IAAK,IACL,IAAK,KACL,IAAK,MACD,OAAO,EACX,QACI,OAAO,IAIvBwF,oBAAoBlF,EAAK+I,GACrB,IAAIrJ,EACJ,YACyCd,KAApCc,EAAQiE,KAAK5B,OAAOkC,MAAMjE,KAC1B4I,cAAwD,QAAvClJ,EAAQkJ,aAAaI,QAAQhJ,IAExCN,EACGqJ,GAElBE,oBAAoBjJ,EAAK+I,GACrB,IAAIrJ,EACJ,YACyCd,KAApCc,EAAQiE,KAAK5B,OAAOkC,MAAMjE,KAC1B4I,cAAwD,QAAvClJ,EAAQkJ,aAAaI,QAAQhJ,IAExCkJ,OAAOxJ,GACJqJ,GAElB/E,SACI,OAAOL,KAAKuB,oBAAoB,WAAY,iCAEhDiE,oBACI,IAAIC,EAAQzF,KAAKuB,oBAAoB,QAAS,QAI9C,MAHc,SAAVkE,IACAA,EACI5I,OAAO6I,YAAc7I,OAAO6I,WAAW,gCAAgCC,QAAU,OAAS,SAC3FF,GAEXxE,eACI,OAAOjB,KAAKuB,oBAAoB,YAAcvB,KAAK4F,SAAS5F,KAAKK,YAErEuF,SAASnO,GACL,OAAOA,EAAEoO,MAAM,IAAIC,QAAO,SAASC,EAAGC,GAElC,OADAD,GAAKA,GAAK,GAAKA,EAAIC,EAAEC,WAAW,GACzBF,EAAIA,IACZ,IAEPtD,QAAQO,GACJ,OAAOP,EAAQyD,OAAOlD,IAE1BmD,OAAOC,GACH,MAAMC,EAAQ,mCACd,OAAKD,EACEA,EAAOtC,QAAQuC,EAAQnC,GAClB,6CAA4CA,sBAAwBA,SAF5D,KAM5BnD,SAAU,CACN/C,kBACI,MAAoC,UAA7BgC,KAAKwF,oBAAkC,OAAS,WAE3DlG,2BACI,MAAoC,UAA7BU,KAAKwF,oBAAkC,UAAY,WAE9DvH,kBACI,MAAoC,UAA7B+B,KAAKwF,oBAAkC,UAAY,WAE9D9F,2BACI,MAAoC,UAA7BM,KAAKwF,oBAAkC,OAAS,WAE3DzH,WACI,MAAoC,UAA7BiC,KAAKwF,qBAEhBtG,cAAc8B,GACV,YAAgC/F,IAAzB+F,EAAMC,kBAKnBqF,EAAMC,eAAUC,GACtBF,EAAIG,IAAItJ,GACRmJ,EAAI5D,MAAMA,GACV4D,EAAIpJ,UAAU,oBAAqBwJ,QACnCJ,EAAIK,MAAM,S","file":"js/app.216fdc6c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-11ee9ad9\":\"d8934979\",\"chunk-13a5b4b9\":\"485681be\",\"chunk-2d0b6e78\":\"407595ec\",\"chunk-2d0ccf3c\":\"e084251e\",\"chunk-2d0d3c74\":\"9a1851eb\",\"chunk-2d0d5cda\":\"df5d5d5a\",\"chunk-2d0e1d96\":\"02a3e746\",\"chunk-2d210069\":\"68889df0\",\"chunk-2d21807b\":\"874afa5c\",\"chunk-2d22998c\":\"25e802a4\",\"chunk-2d2371ad\":\"b7eb2d86\",\"chunk-4118048e\":\"32269bae\",\"chunk-6309431b\":\"1e630c7f\",\"chunk-65ef8e68\":\"ff2317bc\",\"chunk-74a2f597\":\"1a9d5192\",\"chunk-2d0de76e\":\"65a637fe\",\"chunk-2d0f00ea\":\"55b93efc\",\"chunk-771381e8\":\"b3c5fb1f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-11ee9ad9\":1,\"chunk-74a2f597\":1,\"chunk-771381e8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-11ee9ad9\":\"0764190c\",\"chunk-13a5b4b9\":\"31d6cfe0\",\"chunk-2d0b6e78\":\"31d6cfe0\",\"chunk-2d0ccf3c\":\"31d6cfe0\",\"chunk-2d0d3c74\":\"31d6cfe0\",\"chunk-2d0d5cda\":\"31d6cfe0\",\"chunk-2d0e1d96\":\"31d6cfe0\",\"chunk-2d210069\":\"31d6cfe0\",\"chunk-2d21807b\":\"31d6cfe0\",\"chunk-2d22998c\":\"31d6cfe0\",\"chunk-2d2371ad\":\"31d6cfe0\",\"chunk-4118048e\":\"31d6cfe0\",\"chunk-6309431b\":\"31d6cfe0\",\"chunk-65ef8e68\":\"31d6cfe0\",\"chunk-74a2f597\":\"2e512a1e\",\"chunk-2d0de76e\":\"31d6cfe0\",\"chunk-2d0f00ea\":\"31d6cfe0\",\"chunk-771381e8\":\"abefb282\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SearchSuggestions.vue?vue&type=style&index=0&id=36484026&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=0b73b84e&lang=css\"","import { createRouter, createWebHistory } from \"vue-router\";\n\nconst routes = [\n {\n path: \"/\",\n name: \"Trending\",\n component: () => import(\"../components/TrendingPage.vue\"),\n },\n {\n path: \"/preferences\",\n name: \"Preferences\",\n component: () => import(\"../components/Preferences.vue\"),\n },\n {\n path: \"/results\",\n name: \"SearchResults\",\n component: () => import(\"../components/SearchResults.vue\"),\n },\n {\n path: \"/playlist\",\n name: \"Playlist\",\n component: () => import(\"../components/Playlist.vue\"),\n },\n {\n path: \"/:path(v|w|embed|shorts|watch)/:v?\",\n name: \"WatchVideo\",\n component: () => import(\"../components/WatchVideo.vue\"),\n },\n {\n path: \"/:path(channel|user|c)/:channelId/:videos?\",\n name: \"Channel\",\n component: () => import(\"../components/Channel.vue\"),\n },\n {\n path: \"/login\",\n name: \"Login\",\n component: () => import(\"../components/LoginPage.vue\"),\n },\n {\n path: \"/register\",\n name: \"Register\",\n component: () => import(\"../components/RegisterPage.vue\"),\n },\n {\n path: \"/feed\",\n name: \"Feed\",\n component: () => import(\"../components/FeedPage.vue\"),\n },\n {\n path: \"/import\",\n name: \"Import\",\n component: () => import(\"../components/ImportPage.vue\"),\n },\n {\n path: \"/:videoId([a-zA-Z0-9_-]{11})\",\n component: () => import(\"../components/VideoRedirect.vue\"),\n },\n {\n path: \"/subscriptions\",\n name: \"Subscriptions\",\n component: () => import(\"../components/SubscriptionsPage.vue\"),\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n scrollBehavior: function(_to, _from, savedPosition) {\n return savedPosition ? savedPosition : window.scrollTo(0, 0);\n },\n});\n\nexport default router;\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./SearchSuggestions.vue?vue&type=template&id=36484026\"\nimport script from \"./SearchSuggestions.vue?vue&type=script&lang=js\"\nexport * from \"./SearchSuggestions.vue?vue&type=script&lang=js\"\n\nimport \"./SearchSuggestions.vue?vue&type=style&index=0&id=36484026&lang=css\"\nscript.render = render\n\nexport default script","import { render } from \"./Navigation.vue?vue&type=template&id=9def12d8\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=0b73b84e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=0b73b84e&lang=css\"\nscript.render = render\n\nexport default script","import { createApp } from \"vue\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faThumbsUp,\n faThumbsDown,\n faEye,\n faThumbtack,\n faCheck,\n faHeart,\n faHeadphones,\n faRss,\n faChevronLeft,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { faGithub, faBitcoin, faYoutube } from \"@fortawesome/free-brands-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nlibrary.add(\n faThumbsUp,\n faThumbsDown,\n faEye,\n faGithub,\n faBitcoin,\n faThumbtack,\n faCheck,\n faHeart,\n faHeadphones,\n faYoutube,\n faRss,\n faChevronLeft\n);\n\nimport(\"uikit/dist/css/uikit-core.css\");\nimport(\"uikit/dist/js/uikit-core.min\");\n\nimport router from \"@/router/router\";\nimport App from \"./App.vue\";\n\nimport DOMPurify from \"dompurify\";\n\nimport TimeAgo from \"javascript-time-ago\";\n\nimport en from \"javascript-time-ago/locale/en\";\n\nTimeAgo.addDefaultLocale(en);\n\nconst timeAgo = new TimeAgo(\"en-US\");\n\nimport(\"./registerServiceWorker\");\n\nconst mixin = {\n methods: {\n timeFormat: function(duration) {\n var pad = function(num, size) {\n return (\"000\" + num).slice(size * -1);\n };\n\n var time = parseFloat(duration).toFixed(3),\n hours = Math.floor(time / 60 / 60),\n minutes = Math.floor(time / 60) % 60,\n seconds = Math.floor(time - minutes * 60);\n\n var str = \"\";\n\n if (hours > 0) str += hours + \":\";\n\n str += pad(minutes, 2) + \":\" + pad(seconds, 2);\n\n return str;\n },\n numberFormat(num) {\n const digits = 2;\n const si = [\n { value: 1, symbol: \"\" },\n { value: 1e3, symbol: \"k\" },\n { value: 1e6, symbol: \"M\" },\n { value: 1e9, symbol: \"B\" },\n ];\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n for (var i = si.length - 1; i > 0; i--) {\n if (num >= si[i].value) {\n break;\n }\n }\n return (num / si[i].value).toFixed(digits).replace(rx, \"$1\") + si[i].symbol;\n },\n addCommas(num) {\n num = parseInt(num);\n return num.toLocaleString(\"en-US\");\n },\n fetchJson: function(url, params, options) {\n if (params) {\n url = new URL(url);\n for (var param in params) url.searchParams.set(param, params[param]);\n }\n return fetch(url, options).then(response => {\n return response.json();\n });\n },\n purifyHTML(original) {\n return DOMPurify.sanitize(original);\n },\n setPreference(key, value) {\n if (localStorage) localStorage.setItem(key, value);\n },\n getPreferenceBoolean(key, defaultVal) {\n var value;\n if (\n (value = this.$route.query[key]) !== undefined ||\n (localStorage && (value = localStorage.getItem(key)) !== null)\n ) {\n switch (String(value)) {\n case \"true\":\n case \"1\":\n case \"on\":\n case \"yes\":\n return true;\n default:\n return false;\n }\n } else return defaultVal;\n },\n getPreferenceString(key, defaultVal) {\n var value;\n if (\n (value = this.$route.query[key]) !== undefined ||\n (localStorage && (value = localStorage.getItem(key)) !== null)\n ) {\n return value;\n } else return defaultVal;\n },\n getPreferenceNumber(key, defaultVal) {\n var value;\n if (\n (value = this.$route.query[key]) !== undefined ||\n (localStorage && (value = localStorage.getItem(key)) !== null)\n ) {\n return Number(value);\n } else return defaultVal;\n },\n apiUrl() {\n return this.getPreferenceString(\"instance\", \"https://pipedapi.kavin.rocks\");\n },\n getEffectiveTheme() {\n var theme = this.getPreferenceString(\"theme\", \"dark\");\n if (theme === \"auto\")\n theme =\n window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n return theme;\n },\n getAuthToken() {\n return this.getPreferenceString(\"authToken\" + this.hashCode(this.apiUrl()));\n },\n hashCode(s) {\n return s.split(\"\").reduce(function(a, b) {\n a = (a << 5) - a + b.charCodeAt(0);\n return a & a;\n }, 0);\n },\n timeAgo(time) {\n return timeAgo.format(time);\n },\n urlify(string) {\n const regex = /(((https?:\\/\\/)|(www\\.))[^\\s]+)/g;\n if (!string) return '';\n return string.replace(regex, (url) => {\n return `${url}`\n })\n }\n },\n computed: {\n backgroundColor() {\n return this.getEffectiveTheme() === \"light\" ? \"#fff\" : \"#0b0e0f\";\n },\n secondaryBackgroundColor() {\n return this.getEffectiveTheme() === \"light\" ? \"#e5e5e5\" : \"#242727\";\n },\n foregroundColor() {\n return this.getEffectiveTheme() === \"light\" ? \"#15191a\" : \"#0b0e0f\";\n },\n secondaryForegroundColor() {\n return this.getEffectiveTheme() === \"light\" ? \"#666\" : \"#393d3d\";\n },\n darkMode() {\n return this.getEffectiveTheme() !== \"light\";\n },\n authenticated(_this) {\n return _this.getAuthToken() !== undefined;\n },\n },\n};\n\nconst app = createApp(App);\napp.use(router);\napp.mixin(mixin);\napp.component(\"font-awesome-icon\", FontAwesomeIcon);\napp.mount(\"#app\");\n"],"sourceRoot":""}