{"version":3,"file":"300.28e9f385ba2f3d64.js","mappings":"4HAGO,IAAKA,EAAZ,SAAYA,GACRA,WAAAC,YAAA,iBACAD,IAAAE,YAAA,iBAFQF,CAGZ,CAHA,CAAYA,GAAgB,qCCArB,IAAKG,EAAZ,SAAYA,GACVA,WAAAC,WAAA,gBACAD,IAAAE,SAAA,cAFUF,CAGZ,CAHA,CAAYA,GAAY,qCCHjB,IAAKG,EAAZ,SAAYA,GACRA,WAAAC,QAAA,aACAD,IAAAE,QAAA,aACAF,IAAAG,QAAA,aAHQH,CAIZ,CAJA,CAAYA,GAAkB,qNCkBRI,MAAA,eAAqEA,MAAA,wBAAmBA,kCAAhFA,MAAA,QAAAC,GAA6DD,MAAA,GAAAA,YAAA,IAAAC,GAAA,0CAL7ED,MAAA,WAAAA,CAAgC,WAAhCA,CAAgC,WAAhCA,CAAgC,cAGmBA,MAAA,GAA0BA,QACvEA,MAAA,eACEA,MAAA,EAAAE,EAAA,iBACFF,YAGJA,MAAA,WAAAA,CAA8B,cACmBA,MAAA,GAAwBA,QACvEA,MAAA,cACUA,MAAA,UAAAA,CAA0D,cAA1DA,CAA0D,WAG9DA,UAGRA,MAAA,YAAAA,CAA8B,eACsBA,MAAA,IAA2BA,QAC7EA,MAAA,cACUA,MAAA,WACAA,MAAA,eACAA,MAAA,aACJA,UAGRA,MAAA,YAAAA,CAA8B,eACiBA,MAAA,IAAqBA,QAClEA,MAAA,cACUA,MAAA,UAAAA,CAAmC,cAAnCA,CAAmC,WAGvCA,UAGRA,MAAA,YAAAA,CAAkD,gBACxCA,MAAA,mBAAAA,MAAAG,GAAA,MAAAC,EAAAJ,MAAA,UAASA,MAAAI,EAAAC,gBAAe,GAA8BL,MAAA,IAA0BA,WAAS,uDAlClDA,MAAA,GAAAA,MAAAM,EAAA,sBAELN,MAAA,GAAAA,MAAA,UAAAO,EAAAC,aAKKR,MAAA,GAAAA,MAAAM,EAAA,oBAG4FN,MAAA,GAAAA,MAAA,qBAAAS,EAAAF,EAAAG,aAAAC,IAAA,4BAAAF,EAAAG,OAAA,KAMzFZ,MAAA,GAAAA,MAAAM,EAAA,uBAGgGN,MAAA,GAAAA,MAAA,qBAAAa,EAAAN,EAAAG,aAAAC,IAAA,+BAAAE,EAAAD,OAAA,KAMrGZ,MAAA,GAAAA,MAAAM,EAAA,iBAGuFN,MAAA,GAAAA,MAAA,qBAAAc,EAAAP,EAAAG,aAAAC,IAAA,0BAAAG,EAAAF,OAAA,KAMtEZ,MAAA,GAAAA,MAAAM,EAAA,+CA4B9BN,MAAA,mCAAAA,MAAAM,EAAA,mDAUCN,MAAA,mCAAAA,MAAAM,EAAA,qDAWAN,MAAA,mCAAAA,MAAAM,EAAA,oDAaHN,MAAA,mCAAAA,MAAAM,EAAA,iDAM9BN,MAAA,UAAuCA,MAAA,GAA+CA,mDAA/CA,MAAA,GAAAA,MAAA,OAAAM,EAAAS,EAAAC,aAAA,6CAMbhB,MAAA,6CAAMA,MAAA,YAAAM,EAAA,uBAAAN,MAAA,0CAvDpCA,MAAA,WAAAA,CAA+F,cAC7CA,MAAA,GAAgCA,QAChFA,MAAA,eAAQA,MAAA,mBAAAA,MAAAiB,GAAA,MAAAC,EAAAlB,MAAA,UAASA,MAAAkB,EAAAC,yBAAwB,GACvCnB,MAAA,UACAA,MAAA,aAA2BA,MAAA,GAA0GA,YAGzIA,MAAA,WAAAA,CAAmG,cACnDA,MAAA,GAA4BA,MAAA,WAA4KA,QACtPA,MAAA,GAAAoB,EAAA,0BAAApB,OACAA,MAAA,cAAqDA,MAAA,OAAsEA,QAC3HA,MAAA,gBAAQA,MAAA,mBAAAA,MAAAiB,GAAA,MAAAI,EAAArB,MAAA,UAASA,MAAAqB,EAAAC,qBAAoB,GACnCtB,MAAA,WACAA,MAAA,cAA4BA,MAAA,IAAoFA,YAIpHA,MAAA,YAAAA,CAA+F,eAC9CA,MAAA,IAA8BA,MAAA,WAA8KA,QAC3PA,MAAA,GAAAuB,EAAA,0BAAAvB,OACAA,MAAA,cACEA,MAAA,OACFA,QACAA,MAAA,aACEA,MAAA,eACAA,MAAA,YAAOA,MAAA,IAA4EA,YAGvFA,MAAA,YAAAA,CAA+F,eAC9CA,MAAA,IAA6BA,MAAA,WAA8KA,QAC1PA,MAAA,GAAAwB,EAAA,0BAAAxB,OACAA,MAAA,cACQA,MAAA,OACJA,QACJA,MAAA,aACEA,MAAA,eACAA,MAAA,YAAOA,MAAA,IAA4EA,YAIvFA,MAAA,YAAAA,CAA+F,eACnDA,MAAA,IAAyBA,MAAA,WAC6FA,QAChKA,MAAA,GAAAyB,EAAA,0BAAAzB,OACAA,MAAA,cACIA,MAAA,OACJA,QACAA,MAAA,gBAAQA,MAAA,mBAAAA,MAAAiB,GAAA,MAAAS,EAAA1B,MAAA,UAASA,MAAA0B,EAAAC,mBAAkB,GACjC3B,MAAA,WACAA,MAAA,GAAA4B,EAAA,eACF5B,UAGFA,MAAA,YAAAA,CAAsB,eACoDA,MAAA,IAA0BA,MAAA,WAAgKA,QAClQA,MAAA,GAAA6B,EAAA,0BAAA7B,OACAA,MAAA,cACIA,MAAA,OACJA,QACAA,MAAA,SACAA,MAAA,aACEA,MAAA,eACAA,MAAA,eAAiEA,MAAA,IAAkCA,QAEnGA,MAAA,eACAA,MAAA,eAA8DA,MAAA,IAAgCA,QAE9FA,MAAA,eACAA,MAAA,eAA8DA,MAAA,IAAgCA,WAAQ,iHAnExDA,MAAA,GAAAA,MAAAM,EAAA,4BACmDN,MAAA,GAAAA,MAAA,QAAAM,EAAAwB,EAAAC,wBAAAD,EAAAxC,iBAAAC,YAAA,kCAC9FS,MAAA,GAAAA,MAAA,MAAA8B,EAAAC,wBAAAD,EAAAxC,iBAAAC,YAAA,sCACwBS,MAAA,GAAAA,MAAA,OAAAM,EAAAwB,EAAAC,wBAAAD,EAAAxC,iBAAAC,YAAA,qCAIiBS,MAAA,GAAAA,MAAAM,EAAA,wBAAiGN,MAAA,GAAAA,MAAA,aAAAgC,GAE5EhC,MAAA,GAAAA,MAAA,mBAAAgC,GACgDhC,MAAA,GAAAA,MAAA,QAAAM,EAAAwB,EAAAG,oBAAAH,EAAArC,aAAAC,WAAA,0BAC9GM,MAAA,GAAAA,MAAA,MAAA8B,EAAAG,oBAAAH,EAAArC,aAAAC,WAAA,+CACyBM,MAAA,GAAAA,MAAA,IAAAM,EAAAwB,EAAAG,oBAAAH,EAAArC,aAAAC,WAAA,6BAKiBM,MAAA,GAAAA,MAAAM,EAAA,0BAAmGN,MAAA,GAAAA,MAAA,aAAAkC,GAGlIlC,MAAA,GAAAA,MAAA,mBAAAkC,GAIPlC,MAAA,GAAAA,MAAA,UAAAmC,EAAAL,EAAApB,aAAAC,IAAA,6BAAAwB,EAAAvB,MAAAN,EAAA,MAAAA,EAAA,YAIsCN,MAAA,GAAAA,MAAAM,EAAA,yBAAkGN,MAAA,GAAAA,MAAA,aAAAoC,GAG3HpC,MAAA,GAAAA,MAAA,mBAAAoC,GAIbpC,MAAA,GAAAA,MAAA,UAAAqC,EAAAP,EAAApB,aAAAC,IAAA,6BAAA0B,EAAAzB,MAAAN,EAAA,MAAAA,EAAA,YAKiCN,MAAA,GAAAA,MAAAM,EAAA,qBACmBN,MAAA,GAAAA,MAAA,aAAAsC,GAG3CtC,MAAA,GAAAA,MAAA,mBAAAsC,GAGbtC,MAAA,GAAAA,MAAA,MAAA8B,EAAAd,aAAA,sCAAAc,EAAAd,aAAA,4BACIhB,MAAA,GAAAA,MAAA,aAAA8B,EAAAS,YAAA,KAAAT,EAAAS,YAAAC,aAK+DxC,MAAA,GAAAA,MAAAM,EAAA,sBAA+FN,MAAA,GAAAA,MAAA,aAAAyC,GAGrJzC,MAAA,GAAAA,MAAA,mBAAAyC,GAGgDzC,MAAA,GAAAA,MAAA,aAAAM,EAAA,sBACfN,MAAA,GAAAA,MAAA,QAAA8B,EAAAlC,mBAAAC,SACgBG,MAAA,GAAAA,MAAAM,EAAA,8BAEhBN,MAAA,GAAAA,MAAA,QAAA8B,EAAAlC,mBAAAE,SACaE,MAAA,GAAAA,MAAAM,EAAA,4BAEbN,MAAA,GAAAA,MAAA,QAAA8B,EAAAlC,mBAAAG,SACaC,MAAA,GAAAA,MAAAM,EAAA,uJAoBhEN,MAAA,GACEA,MAAA,eAAmCA,MAAA,yBAAA0C,EAAA1C,MAAA2C,GAAAC,UAAAC,EAAA7C,MAAA,UAASA,MAAA6C,EAAAC,SAAAJ,EAAAK,MAAoB,GAC9D/C,MAAA,YACAA,MAAA,GACFA,QACFA,OAAA,4DAJoEA,MAAA,GAAAA,MAAA,UAAAA,MAAA,EAAAgD,GAAA,MAAAC,EAAAV,YAAA,KAAAU,EAAAV,YAAAQ,QAAAL,EAAAK,OAC/C/C,MAAA,GAAAA,MAAA,UAAAA,MAAA,EAAAkD,EAAAR,EAAAS,YACjBnD,MAAA,GAAAA,MAAA,IAAAM,EAAAoC,EAAAU,gBAAA,+BAJNpD,MAAA,YACEA,MAAA,EAAAqD,EAAA,uBAMFrD,+BANkCA,MAAA,GAAAA,MAAA,UAAAsD,EAAAC,OAAA,2BA7JhDvD,MAAA,GAEEA,MAAA,WAAAA,CAAiC,YAAjCA,CAAiC,UAAjCA,CAAiC,SAAjCA,CAAiC,cAKvBA,MAAA,GACFA,UAEFA,MAAA,UAAAA,CAA0B,WAEtBA,MAAA,GAAAwD,EAAA,oBA0CFxD,YAMJA,MAAA,WAAAA,CAAoF,UAApFA,CAAoF,eAG9EA,MAAA,IACFA,UAEFA,MAAA,WAAAA,CAA0B,YAEtBA,MAAA,GAAAyD,EAAA,qBA2EFzD,YAIJA,MAAA,YAAAA,CAA4F,UAA5FA,CAA4F,eAGtFA,MAAA,IACFA,UAEFA,MAAA,WAAAA,CAA0B,YAEtBA,MAAA,GAAA0D,EAAA,mBAUF1D,gBAMVA,uDAzKQA,MAAA,GAAAA,MAAA,YAAA2D,EAAAjD,cACcV,MAAA,GAAAA,MAAA,kBACkDA,MAAA,GAAAA,MAAA,gBAEIA,MAAA,GAAAA,MAAA,gBAAA4D,EAAAC,WAAA,kBAChE7D,MAAA,GAAAA,MAAA,IAAAM,EAAA,+BAqD0DN,MAAA,GAAAA,MAAA,gBAEMA,MAAA,GAAAA,MAAA,gBAAA4D,EAAAC,WAAA,iBAChE7D,MAAA,GAAAA,MAAA,IAAAM,EAAA,8BAoFiCN,MAAA,GAAAA,MAAA,QAAAM,EAAA,qBAAAN,CAAgC,gBAEDA,MAAA,GAAAA,MAAA,gBAAA4D,EAAAC,WAAA,gBAChE7D,MAAA,GAAAA,MAAA,IAAAM,EAAA,2BC7GL,MAAMwD,EAAkB,CAC7B,CACEf,KAAM,OACNI,UAAW,UACXX,aAAa,EACbuB,WAAW,EACXC,SAAUC,IAAcC,OACxBC,SAAU,eACVC,QChDyB,8jJDiDzBhB,eAAgB,cAElB,CACEL,KAAM,QACNI,UAAW,UACXX,aAAa,EACbuB,WAAW,EACXC,SAAUC,IAAcC,OACxBC,SAAU,gBACVC,QE1D0B,4xIF2D1BhB,eAAgB,eAElB,CACEL,KAAM,QACNI,UAAW,UACXX,aAAa,EACbuB,WAAW,EACXC,SAAUC,IAAcC,OACxBC,SAAU,gBACVC,QGpE0B,8yJHqE1BhB,eAAgB,eAElB,CACEL,KAAM,QACNI,UAAW,UACXX,aAAa,EACbuB,WAAW,EACXC,SAAUC,IAAcC,OACxBC,SAAU,gBACVC,QI9E0B,ikKJ+E1BhB,eAAgB,gBAcb,IAAMiB,EAAuB,MAA9B,MAAOA,EA+DPzE,yBACF,OAAOA,GACT,CAEIN,uBACF,OAAOA,GACT,CAEIG,mBACF,OAAOA,GACT,CAIA6E,YAAoBC,EAAkCC,EAC1BC,EAA4BC,EACrCC,GAFCC,KAAAL,cAAkCK,KAAAJ,iBAC1BI,KAAAH,WAA4BG,KAAAF,eACrCE,KAAAD,QA3ETC,KAAAC,uBAAgD,IAAIC,MAIpDF,KAAAG,YAAuC,IAAID,MAI3CF,KAAAI,iBAA4C,IAAIF,MAIhDF,KAAAK,iBAAqD,IAAIH,MAIzDF,KAAAM,WAAiC,IAAIJ,MAIrCF,KAAAO,iBAAmD,IAAIL,MAIvDF,KAAAQ,uBAAqD,IAAIN,MAIzDF,KAAAS,cAAuC,IAAIP,MAMrDF,KAAApE,YAA6B,GAC7BoE,KAAAU,aAAkC,GAMlCV,KAAA7C,sBAA0CzC,IAAiBC,YAE3DqF,KAAA3C,kBAAkCxC,IAAaC,WAK/CkF,KAAA5D,cAAwB,EAExB4D,KAAAlE,aAA0B,IAAI6E,KAAU,IAKxCX,KAAArB,OAA2BO,EACVc,KAAAY,cAAaC,OAAOC,MAmBS,CAE9CC,WAEEf,KAAKU,aAAeV,KAAKL,YAAYqB,kBACrChB,KAAKpE,YAAcoE,KAAKU,aAAaO,IAAIC,GAAKA,EAAEC,OAChDnB,KAAKD,MAAMqB,eAEXpB,KAAKJ,eAAeyB,aAAaC,QAAKC,KAAK,IAAIC,UAAUC,IACnDA,GACFzB,KAAKyB,KAAOA,OAEuCC,IAA/C1B,KAAKyB,KAAKE,YAAYC,uBACxB5B,KAAKyB,KAAKE,YAAYC,qBAAuB,iBAEEF,IAA7C1B,KAAKyB,KAAKE,YAAYE,oBAAoC7B,KAAKyB,KAAKE,YAAYE,mBAAqB,MACvG7B,KAAKyB,KAAKE,YAAYE,mBAAqB,WAEOH,IAAhD1B,KAAKyB,KAAKE,YAAYG,uBAAuC9B,KAAKyB,KAAKE,YAAYG,sBAAwB,OAC7G9B,KAAKyB,KAAKE,YAAYG,sBAAwB,UAEDJ,IAA3C1B,KAAKyB,KAAKE,YAAYI,mBACxB/B,KAAKyB,KAAKE,YAAYI,iBAAmB,QAEcL,IAArD1B,KAAKyB,KAAKE,YAAYK,6BACxBhC,KAAKyB,KAAKE,YAAYK,2BAA6BtH,IAAiBC,kBAEjB+G,IAAjD1B,KAAKyB,KAAKE,YAAYnB,yBACxBR,KAAKyB,KAAKE,YAAYnB,uBAAyB3F,IAAaC,YAE9DkF,KAAK7C,sBAAwB6C,KAAKyB,KAAKE,YAAYK,2BACnDhC,KAAK3C,kBAAoB2C,KAAKyB,KAAKE,YAAYnB,uBAI/CR,KAAKlE,aAAamG,WAAW,uBAAwB,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYC,qBAAsB,KACjH5B,KAAKlE,aAAaC,IAAI,wBAAyBoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAUa,IAC9G,MAAMC,EAAatC,KAAKU,aAAa6B,OAAOrB,GAAKA,EAAEC,QAAUkB,GAAU,GAAGG,OAExExC,KAAKyC,WAAW,eADC,YAAfH,EAC+B,UAEA,IAAMA,EAAa,IAGtDtC,KAAKG,YAAYuC,KAAK1C,KAAKyC,WAAU,GAGvCzC,KAAKlE,aAAamG,WAAW,qBAAsB,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYE,mBAAoB,KAC7G7B,KAAKlE,aAAaC,IAAI,uBAAuBoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAUxF,IAC5GgE,KAAKyC,WAAW,aAAezG,EAAQ,IACvCgE,KAAKG,YAAYuC,KAAK1C,KAAKyC,WAAU,GAGvCzC,KAAKlE,aAAamG,WAAW,0BAA2B,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYgB,wBAAyB,KACvH3C,KAAKlE,aAAaC,IAAI,4BAA4BoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAUxF,IACjHgE,KAAKC,uBAAuByC,KAAK1G,EAAK,GAGxCgE,KAAKlE,aAAamG,WAAW,wBAAyB,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYG,sBAAuB,KACnH9B,KAAKlE,aAAaC,IAAI,0BAA0BoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAUxF,IAC/GgE,KAAKyC,WAAW,eAAiBzG,EAAQ,IACzCgE,KAAKG,YAAYuC,KAAK1C,KAAKyC,WAAU,GAGvCzC,KAAKlE,aAAamG,WAAW,mBAAoB,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYI,iBAAkB,KACzG/B,KAAKlE,aAAaC,IAAI,qBAAqBoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAUxF,IAC1GgE,KAAKyC,WAAW,eAAiBzG,EAAQ,KACzCgE,KAAKyC,WAAW,gBAAkBzG,EAAQ,KAC1CgE,KAAKG,YAAYuC,KAAK1C,KAAKyC,WAAU,GAKvCzC,KAAKlE,aAAamG,WAAW,aAAc,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYiB,sBAAwB5H,IAAmBC,QAAS,KACrI+E,KAAKlE,aAAaC,IAAI,eAAeoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAWqB,IACrG7C,KAAKK,iBAAiBqC,KAAKG,EAAU,GAGvC7C,KAAKlE,aAAamG,WAAW,0BAA2B,IAAIC,KAAYlC,KAAKyB,KAAKE,YAAYmB,wBAAyB,KACvH9C,KAAKlE,aAAaC,IAAI,4BAA4BoG,aAAab,QAAKc,MAAmBpC,KAAKY,aAAaY,UAAWf,IAC9GA,GACFT,KAAKlE,aAAaC,IAAI,4BAA4BgH,UAAS,GAE7D/C,KAAKS,cAAciC,KAAKjC,EAAa,GAIvCT,KAAK9B,SAAS8B,KAAKyB,KAAKE,YAAYqB,qBAAuBhD,KAAKF,aAAamD,kBAC7EjD,KAAKD,MAAMqB,eAGXpB,KAAKO,iBAAiBmC,KAAK1C,KAAK7C,uBAChC6C,KAAKQ,uBAAuBkC,KAAK1C,KAAK3C,mBACtC2C,KAAKC,uBAAuByC,KAAK1C,KAAKyB,KAAKE,YAAYgB,yBACvD3C,KAAKK,iBAAiBqC,KAAK1C,KAAKyB,KAAKE,YAAYiB,sBACjD5C,KAAKS,cAAciC,KAAK1C,KAAKyB,KAAKE,YAAYmB,yBAE9C9C,KAAKvE,iBAELuE,KAAKvE,eAAa,EAKxB,CAEAA,gBACMuE,KAAKyB,KACPzB,KAAKkD,cAAclD,KAAKyB,KAAKE,YAAYC,qBAAsB5B,KAAKyB,KAAKE,YAAYE,mBAAqB,IAAK7B,KAAKyB,KAAKE,YAAYI,iBAAmB,KAAM/B,KAAKyB,KAAKE,YAAYG,sBAAwB,KAE5M9B,KAAKkD,gBAGPlD,KAAKlE,aAAaC,IAAI,yBAAyBgH,SAAS/C,KAAKyB,KAAKE,YAAYC,sBAC9E5B,KAAKlE,aAAaC,IAAI,uBAAuBgH,SAAS/C,KAAKyB,KAAKE,YAAYE,oBAC5E7B,KAAKlE,aAAaC,IAAI,0BAA0BgH,SAAS/C,KAAKyB,KAAKE,YAAYG,uBAC/E9B,KAAKlE,aAAaC,IAAI,qBAAqBgH,SAAS/C,KAAKyB,KAAKE,YAAYI,kBAC1E/B,KAAKlE,aAAaC,IAAI,+BAA+BgH,SAAS/C,KAAKyB,KAAKE,YAAYK,4BACpFhC,KAAKlE,aAAaC,IAAI,4BAA4BgH,SAAS/C,KAAKyB,KAAKE,YAAYgB,yBACjF3C,KAAKlE,aAAaC,IAAI,yBAAyBgH,SAAS/C,KAAKyB,KAAKE,YAAYiB,sBAC9E5C,KAAKlE,aAAaC,IAAI,4BAA4BgH,SAAS/C,KAAKyB,KAAKE,YAAYmB,yBACjF9C,KAAKlE,aAAaC,IAAI,2BAA2BgH,SAAS/C,KAAKyB,KAAKE,YAAYnB,wBAChFR,KAAKD,MAAMoD,gBACXnD,KAAKG,YAAYuC,KAAK1C,KAAKyC,WAC7B,CAKAS,cAAcE,EAAqBC,EAAmBC,EAAiBC,EAAqBC,GAM1F,IAAIC,EAAgB,QALAC,OAAOC,YACtB3D,KAAKH,SAAS+D,gBAAgBC,aAC9B7D,KAAKH,SAASiE,KAAKD,cA7NW,MAkOjCJ,EAAgB,OAElBzD,KAAKyC,WAAa,CAChB,cAAeW,GAAcpD,KAAKyC,WAAW,gBAAkB,UAC/D,YAAaY,GAAYrD,KAAKyC,WAAW,cAAgB,OACzD,cAAea,GAAUtD,KAAKyC,WAAW,gBAAmBgB,EAC5D,eAAgBH,GAAUtD,KAAKyC,WAAW,iBAAoBgB,EAC9D,cAAeF,GAAcvD,KAAKyC,WAAW,gBAAkB,OAEnE,CAEAvE,SAAS6F,GACP,MAAMC,EAAQhE,KAAKrB,OAAOsF,KAAKC,GAAKA,EAAE/F,OAAS4F,GAC/C/D,KAAKrC,YAAcqG,EACnBhE,KAAKD,MAAMqB,eACXpB,KAAKI,iBAAiBsC,KAAKsB,EAC7B,CAEAzH,yBAEIyD,KAAK7C,sBADH6C,KAAK7C,wBAA0BzC,IAAiBC,YACrBD,IAAiBE,YAEjBF,IAAiBC,YAGhDqF,KAAKD,MAAMqB,eACXpB,KAAKO,iBAAiBmC,KAAK1C,KAAK7C,sBAClC,CAEAT,qBAEIsD,KAAK3C,kBADH2C,KAAK3C,oBAAsBxC,IAAaC,WACjBD,IAAaE,SAEbF,IAAaC,WAGxCkF,KAAKD,MAAMqB,eACXpB,KAAKQ,uBAAuBkC,KAAK1C,KAAK3C,kBACxC,CAEAN,mBACEiD,KAAK5D,cAAgB4D,KAAK5D,aAC1B4D,KAAKD,MAAMqB,eACXpB,KAAKM,WAAWoC,MAClB,EApQWjD,SAAuB,mBAAAyE,iBAAvBzE,GAAuBrE,MAAA+I,KAAA/I,MAAAgJ,KAAAhJ,MA8ExBiJ,MAAQjJ,MAAAkJ,KAAAlJ,aAAA,EA9EPqE,EAAuB,UAAA8E,EAAAC,IAAA,MAAvB/E,EAAuBgF,UAAA,0BAAAC,QAAA,CAAAzE,uBAAA,yBAAAE,YAAA,cAAAC,iBAAA,mBAAAC,iBAAA,mBAAAC,WAAA,aAAAC,iBAAA,mBAAAC,uBAAA,yBAAAC,cAAA,iBAAAkE,YAAA,EAAAC,SAAA,CAAAxJ,OAAAyJ,MAAA,EAAAC,KAAA,EAAAC,OAAA,+2IAAAC,SAAA,SAAAC,EAAAC,GAAA,EAAAD,GD9FpC7J,MAAA,EAAA+J,EAAA,6BAAiC/J,MAAA,kDC4FrBgK,KAAmBC,0DAAEC,KAAuBC,KAAkBC,IAAwCC,KAAiCC,KAAsBC,KAAkBC,KAAOC,KAAYC,KAAkBC,KAAMC,KAASC,KAASC,KAAeC,MAAkBC,OAAA,y9BAAAC,gBAAA,IAE5Q5G,CAAuB,kFKzE7B,IAAM6G,EAAW,MAAlB,MAAOA,EAIX5G,YAAoB6G,GAAAvG,KAAAuG,OAFpBvG,KAAAwG,QAAUC,IAAYC,MAEkB,CAExC1F,kBACE,MAAO,CAAC,CAACG,MAAO,UAAWqB,OAAQ,WAAY,CAACrB,MAAO,aAAcqB,OAAQ,cAAe,CAACrB,MAAO,YAAaqB,OAAQ,aACzH,CAACrB,MAAO,OAAQqB,OAAQ,QAAS,CAACrB,MAAO,oBAAqBqB,OAAQ,qBAAsB,CAACrB,MAAO,eAAgBqB,OAAQ,gBAC5H,CAACrB,MAAO,eAAgBqB,OAAQ,gBAAiB,CAACrB,MAAO,gBAAiBqB,OAAQ,iBAAkB,CAACrB,MAAO,gBAAiBqB,OAAQ,iBACvI,CAEAmE,gBAAgBC,GACd,OAAO5G,KAAKuG,KAAKxK,IAA4BiE,KAAKwG,QAAU,QAAUI,EAAY,YACpF,CAEAC,YAAYD,EAAmBE,GAC7B,OAAO9G,KAAKuG,KAAKxK,IAAYiE,KAAKwG,QAAU,QAAUI,EAAY,mBAAqBE,EAAMC,IAC/F,CAEAC,YAAYJ,GACV,OAAO5G,KAAKuG,KAAKxK,IAAciE,KAAKwG,QAAU,QAAUI,EAAY,aACtE,CAEAK,eAAeL,EAAmBE,GAChC,OAAO9G,KAAKwG,QAAU,QAAUI,EAAY,mBAAqBE,CACnE,EA1BWR,SAAW,mBAAApC,iBAAXoC,GAAWlL,MAAA+I,MAAA,EAAXmC,EAAW,WAAAY,EAAAC,IAAA,OAAXb,EAAWc,QAAXd,EAAWe,UAAAC,WAFV,SAEDhB,CAAW","names":["ReadingDirection","LeftToRight","RightToLeft","WritingStyle","Horizontal","Vertical","BookPageLayoutMode","Default","Column1","Column2","i0","opt_r7","ReaderSettingsComponent_ng_container_0_ng_template_10_option_6_Template","_r10","ctx_r9","resetSettings","t_r1","ctx_r3","fontOptions","tmp_3_0","settingsForm","get","value","tmp_5_0","tmp_7_0","ctx_r20","isFullscreen","_r30","ctx_r29","toggleReadingDirection","ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_11_Template","ctx_r31","toggleWritingStyle","ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_23_Template","ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_35_Template","ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_47_Template","ctx_r32","toggleFullscreen","ReaderSettingsComponent_ng_container_0_ng_template_17_span_53_Template","ReaderSettingsComponent_ng_container_0_ng_template_17_ng_template_58_Template","ctx_r4","readingDirectionModel","_r12","writingStyleModel","_r14","tmp_13_0","_r16","tmp_17_0","_r18","activeTheme","isDarkTheme","_r21","theme_r35","_r37","$implicit","ctx_r36","setTheme","name","_c0","ctx_r34","_c1","colorHash","translationKey","ReaderSettingsComponent_ng_container_0_ng_template_24_ng_container_1_Template","ctx_r5","themes","ReaderSettingsComponent_ng_container_0_ng_template_10_Template","ReaderSettingsComponent_ng_container_0_ng_template_17_Template","ReaderSettingsComponent_ng_container_0_ng_template_24_Template","ctx_r0","_r2","isExpanded","bookColorThemes","isDefault","provider","ThemeProvider","System","selector","content","ReaderSettingsComponent","constructor","bookService","accountService","document","themeService","cdRef","this","clickToPaginateChanged","EventEmitter","styleUpdate","colorThemeUpdate","layoutModeUpdate","fullscreen","readingDirection","bookReaderWritingStyle","immersiveMode","fontFamilies","FormGroup","destroyRef","inject","DestroyRef","ngOnInit","getFontFamilies","map","f","title","markForCheck","currentUser$","pipe","take","subscribe","user","undefined","preferences","bookReaderFontFamily","bookReaderFontSize","bookReaderLineSpacing","bookReaderMargin","bookReaderReadingDirection","addControl","FormControl","valueChanges","takeUntilDestroyed","fontName","familyName","filter","family","pageStyles","emit","bookReaderTapToPaginate","bookReaderLayoutMode","layoutMode","bookReaderImmersiveMode","setValue","bookReaderThemeName","defaultBookTheme","setPageStyles","detectChanges","fontFamily","fontSize","margin","lineHeight","colorTheme","defaultMargin","window","innerWidth","documentElement","clientWidth","body","themeName","theme","find","t","i1","i2","DOCUMENT","i3","core","Xpm","selectors","outputs","standalone","features","decls","vars","consts","template","rf","ctx","ReaderSettingsComponent_ng_container_0_Template","ReactiveFormsModule","i4","NgbAccordionDirective","NgbAccordionItem","NgbAccordionHeader","NgbAccordionButton","NgbAccordionCollapse","NgbAccordionBody","NgFor","NgbTooltip","NgTemplateOutlet","NgIf","NgClass","NgStyle","TitleCasePipe","TranslocoDirective","styles","changeDetection","BookService","http","baseUrl","environment","apiUrl","getBookChapters","chapterId","getBookPage","page","TextResonse","getBookInfo","getBookPageUrl","_angular_core__WEBPACK_IMPORTED_MODULE_2__","Yz7","factory","ɵfac","providedIn"],"sourceRoot":"webpack:///","sources":["./src/app/_models/preferences/reading-direction.ts","./src/app/_models/preferences/writing-style.ts","./src/app/_models/readers/book-page-layout-mode.ts","./src/app/book-reader/_components/reader-settings/reader-settings.component.html","./src/app/book-reader/_components/reader-settings/reader-settings.component.ts","./src/app/book-reader/_models/book-dark-theme.ts","./src/app/book-reader/_models/book-black-theme.ts","./src/app/book-reader/_models/book-white-theme.ts","./src/app/book-reader/_models/book-paper-theme.ts","./src/app/book-reader/_services/book.service.ts"],"sourcesContent":["/**\n * Direction the user is reading. Maps to the pagination method. Not applicable with ReaderMode.Webtoon\n */\nexport enum ReadingDirection {\n LeftToRight = 0,\n RightToLeft = 1\n}\n","/*\n * Mode the user is reading the book in. Not applicable with ReaderMode.Webtoon\n */\nexport enum WritingStyle{\n Horizontal = 0,\n Vertical = 1,\n}\n","export enum BookPageLayoutMode {\n Default = 0,\n Column1 = 1,\n Column2 = 2,\n}","\n \n
\n
\n
\n

\n \n

\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n
\n \n \n 1x\n \n 2.5x\n \n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n\n
\n\n
\n

\n \n

\n
\n
\n \n
\n \n \n
\n
\n \n {{t('writing-style-tooltip')}}\n \n \n\n
\n
\n \n {{t('tap-to-paginate-tooltip')}}\n \n \n \n
\n \n \n
\n
\n
\n \n {{t('immersive-mode-tooltip')}}\n \n \n \n
\n \n \n
\n
\n\n
\n \n {{t('fullscreen-tooltip')}}\n \n \n \n \n
\n\n
\n \n \n \n \n \n
\n
\n \n \n\n \n \n\n \n \n
\n
\n\n\n
\n
\n
\n
\n\n
\n

\n \n

\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n
\n","import { DOCUMENT, NgFor, NgTemplateOutlet, NgIf, NgClass, NgStyle, TitleCasePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, DestroyRef,\n EventEmitter,\n inject,\n Inject,\n OnInit,\n Output\n} from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { take } from 'rxjs';\nimport { BookPageLayoutMode } from 'src/app/_models/readers/book-page-layout-mode';\nimport { BookTheme } from 'src/app/_models/preferences/book-theme';\nimport { ReadingDirection } from 'src/app/_models/preferences/reading-direction';\nimport { WritingStyle } from 'src/app/_models/preferences/writing-style';\nimport { ThemeProvider } from 'src/app/_models/preferences/site-theme';\nimport { User } from 'src/app/_models/user';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { ThemeService } from 'src/app/_services/theme.service';\nimport { FontFamily, BookService } from '../../_services/book.service';\nimport { BookBlackTheme } from '../../_models/book-black-theme';\nimport { BookDarkTheme } from '../../_models/book-dark-theme';\nimport { BookWhiteTheme } from '../../_models/book-white-theme';\nimport { BookPaperTheme } from '../../_models/book-paper-theme';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { NgbAccordionDirective, NgbAccordionItem, NgbAccordionHeader, NgbAccordionToggle, NgbAccordionButton, NgbCollapse, NgbAccordionCollapse, NgbAccordionBody, NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n/**\n * Used for book reader. Do not use for other components\n */\nexport interface PageStyle {\n 'font-family': string;\n 'font-size': string;\n 'line-height': string;\n 'margin-left': string;\n 'margin-right': string;\n}\n\nexport const bookColorThemes = [\n {\n name: 'Dark',\n colorHash: '#292929',\n isDarkTheme: true,\n isDefault: true,\n provider: ThemeProvider.System,\n selector: 'brtheme-dark',\n content: BookDarkTheme,\n translationKey: 'theme-dark'\n },\n {\n name: 'Black',\n colorHash: '#000000',\n isDarkTheme: true,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-black',\n content: BookBlackTheme,\n translationKey: 'theme-black'\n },\n {\n name: 'White',\n colorHash: '#FFFFFF',\n isDarkTheme: false,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-white',\n content: BookWhiteTheme,\n translationKey: 'theme-white'\n },\n {\n name: 'Paper',\n colorHash: '#F1E4D5',\n isDarkTheme: false,\n isDefault: false,\n provider: ThemeProvider.System,\n selector: 'brtheme-paper',\n content: BookPaperTheme,\n translationKey: 'theme-paper'\n },\n];\n\nconst mobileBreakpointMarginOverride = 700;\n\n@Component({\n selector: 'app-reader-settings',\n templateUrl: './reader-settings.component.html',\n styleUrls: ['./reader-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgbAccordionDirective, NgbAccordionItem, NgbAccordionHeader, NgbAccordionToggle, NgbAccordionButton, NgbCollapse, NgbAccordionCollapse, NgbAccordionBody, NgFor, NgbTooltip, NgTemplateOutlet, NgIf, NgClass, NgStyle, TitleCasePipe, TranslocoDirective]\n})\nexport class ReaderSettingsComponent implements OnInit {\n /**\n * Outputs when clickToPaginate is changed\n */\n @Output() clickToPaginateChanged: EventEmitter = new EventEmitter();\n /**\n * Outputs when a style is updated and the reader needs to render it\n */\n @Output() styleUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when a theme/dark mode is updated\n */\n @Output() colorThemeUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when a layout mode is updated\n */\n @Output() layoutModeUpdate: EventEmitter = new EventEmitter();\n /**\n * Outputs when fullscreen is toggled\n */\n @Output() fullscreen: EventEmitter = new EventEmitter();\n /**\n * Outputs when reading direction is changed\n */\n @Output() readingDirection: EventEmitter = new EventEmitter();\n /**\n * Outputs when reading mode is changed\n */\n @Output() bookReaderWritingStyle: EventEmitter = new EventEmitter();\n /**\n * Outputs when immersive mode is changed\n */\n @Output() immersiveMode: EventEmitter = new EventEmitter();\n\n user!: User;\n /**\n * List of all font families user can select from\n */\n fontOptions: Array = [];\n fontFamilies: Array = [];\n /**\n * Internal property used to capture all the different css properties to render on all elements\n */\n pageStyles!: PageStyle;\n\n readingDirectionModel: ReadingDirection = ReadingDirection.LeftToRight;\n\n writingStyleModel: WritingStyle = WritingStyle.Horizontal;\n\n\n activeTheme: BookTheme | undefined;\n\n isFullscreen: boolean = false;\n\n settingsForm: FormGroup = new FormGroup({});\n\n /**\n * System provided themes\n */\n themes: Array = bookColorThemes;\n private readonly destroyRef = inject(DestroyRef);\n\n\n get BookPageLayoutMode(): typeof BookPageLayoutMode {\n return BookPageLayoutMode;\n }\n\n get ReadingDirection() {\n return ReadingDirection;\n }\n\n get WritingStyle() {\n return WritingStyle;\n }\n\n\n\n constructor(private bookService: BookService, private accountService: AccountService,\n @Inject(DOCUMENT) private document: Document, private themeService: ThemeService,\n private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n\n this.fontFamilies = this.bookService.getFontFamilies();\n this.fontOptions = this.fontFamilies.map(f => f.title);\n this.cdRef.markForCheck();\n\n this.accountService.currentUser$.pipe(take(1)).subscribe(user => {\n if (user) {\n this.user = user;\n\n if (this.user.preferences.bookReaderFontFamily === undefined) {\n this.user.preferences.bookReaderFontFamily = 'default';\n }\n if (this.user.preferences.bookReaderFontSize === undefined || this.user.preferences.bookReaderFontSize < 50) {\n this.user.preferences.bookReaderFontSize = 100;\n }\n if (this.user.preferences.bookReaderLineSpacing === undefined || this.user.preferences.bookReaderLineSpacing < 100) {\n this.user.preferences.bookReaderLineSpacing = 100;\n }\n if (this.user.preferences.bookReaderMargin === undefined) {\n this.user.preferences.bookReaderMargin = 0;\n }\n if (this.user.preferences.bookReaderReadingDirection === undefined) {\n this.user.preferences.bookReaderReadingDirection = ReadingDirection.LeftToRight;\n }\n if (this.user.preferences.bookReaderWritingStyle === undefined) {\n this.user.preferences.bookReaderWritingStyle = WritingStyle.Horizontal;\n }\n this.readingDirectionModel = this.user.preferences.bookReaderReadingDirection;\n this.writingStyleModel = this.user.preferences.bookReaderWritingStyle;\n\n\n\n this.settingsForm.addControl('bookReaderFontFamily', new FormControl(this.user.preferences.bookReaderFontFamily, []));\n this.settingsForm.get('bookReaderFontFamily')!.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(fontName => {\n const familyName = this.fontFamilies.filter(f => f.title === fontName)[0].family;\n if (familyName === 'default') {\n this.pageStyles['font-family'] = 'inherit';\n } else {\n this.pageStyles['font-family'] = \"'\" + familyName + \"'\";\n }\n\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderFontSize', new FormControl(this.user.preferences.bookReaderFontSize, []));\n this.settingsForm.get('bookReaderFontSize')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['font-size'] = value + '%';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderTapToPaginate', new FormControl(this.user.preferences.bookReaderTapToPaginate, []));\n this.settingsForm.get('bookReaderTapToPaginate')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.clickToPaginateChanged.emit(value);\n });\n\n this.settingsForm.addControl('bookReaderLineSpacing', new FormControl(this.user.preferences.bookReaderLineSpacing, []));\n this.settingsForm.get('bookReaderLineSpacing')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['line-height'] = value + '%';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n this.settingsForm.addControl('bookReaderMargin', new FormControl(this.user.preferences.bookReaderMargin, []));\n this.settingsForm.get('bookReaderMargin')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n this.pageStyles['margin-left'] = value + 'vw';\n this.pageStyles['margin-right'] = value + 'vw';\n this.styleUpdate.emit(this.pageStyles);\n });\n\n\n\n this.settingsForm.addControl('layoutMode', new FormControl(this.user.preferences.bookReaderLayoutMode || BookPageLayoutMode.Default, []));\n this.settingsForm.get('layoutMode')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((layoutMode: BookPageLayoutMode) => {\n this.layoutModeUpdate.emit(layoutMode);\n });\n\n this.settingsForm.addControl('bookReaderImmersiveMode', new FormControl(this.user.preferences.bookReaderImmersiveMode, []));\n this.settingsForm.get('bookReaderImmersiveMode')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((immersiveMode: boolean) => {\n if (immersiveMode) {\n this.settingsForm.get('bookReaderTapToPaginate')?.setValue(true);\n }\n this.immersiveMode.emit(immersiveMode);\n });\n\n\n this.setTheme(this.user.preferences.bookReaderThemeName || this.themeService.defaultBookTheme);\n this.cdRef.markForCheck();\n\n // Emit first time so book reader gets the setting\n this.readingDirection.emit(this.readingDirectionModel);\n this.bookReaderWritingStyle.emit(this.writingStyleModel);\n this.clickToPaginateChanged.emit(this.user.preferences.bookReaderTapToPaginate);\n this.layoutModeUpdate.emit(this.user.preferences.bookReaderLayoutMode);\n this.immersiveMode.emit(this.user.preferences.bookReaderImmersiveMode);\n\n this.resetSettings();\n } else {\n this.resetSettings();\n }\n\n\n });\n }\n\n resetSettings() {\n if (this.user) {\n this.setPageStyles(this.user.preferences.bookReaderFontFamily, this.user.preferences.bookReaderFontSize + '%', this.user.preferences.bookReaderMargin + 'vw', this.user.preferences.bookReaderLineSpacing + '%');\n } else {\n this.setPageStyles();\n }\n\n this.settingsForm.get('bookReaderFontFamily')?.setValue(this.user.preferences.bookReaderFontFamily);\n this.settingsForm.get('bookReaderFontSize')?.setValue(this.user.preferences.bookReaderFontSize);\n this.settingsForm.get('bookReaderLineSpacing')?.setValue(this.user.preferences.bookReaderLineSpacing);\n this.settingsForm.get('bookReaderMargin')?.setValue(this.user.preferences.bookReaderMargin);\n this.settingsForm.get('bookReaderReadingDirection')?.setValue(this.user.preferences.bookReaderReadingDirection);\n this.settingsForm.get('bookReaderTapToPaginate')?.setValue(this.user.preferences.bookReaderTapToPaginate);\n this.settingsForm.get('bookReaderLayoutMode')?.setValue(this.user.preferences.bookReaderLayoutMode);\n this.settingsForm.get('bookReaderImmersiveMode')?.setValue(this.user.preferences.bookReaderImmersiveMode);\n this.settingsForm.get('bookReaderWritingStyle')?.setValue(this.user.preferences.bookReaderWritingStyle);\n this.cdRef.detectChanges();\n this.styleUpdate.emit(this.pageStyles);\n }\n\n /**\n * Internal method to be used by resetSettings. Pass items in with quantifiers\n */\n setPageStyles(fontFamily?: string, fontSize?: string, margin?: string, lineHeight?: string, colorTheme?: string) {\n const windowWidth = window.innerWidth\n || this.document.documentElement.clientWidth\n || this.document.body.clientWidth;\n\n\n let defaultMargin = '15vw';\n if (windowWidth <= mobileBreakpointMarginOverride) {\n defaultMargin = '5vw';\n }\n this.pageStyles = {\n 'font-family': fontFamily || this.pageStyles['font-family'] || 'default',\n 'font-size': fontSize || this.pageStyles['font-size'] || '100%',\n 'margin-left': margin || this.pageStyles['margin-left'] || defaultMargin,\n 'margin-right': margin || this.pageStyles['margin-right'] || defaultMargin,\n 'line-height': lineHeight || this.pageStyles['line-height'] || '100%'\n };\n }\n\n setTheme(themeName: string) {\n const theme = this.themes.find(t => t.name === themeName);\n this.activeTheme = theme;\n this.cdRef.markForCheck();\n this.colorThemeUpdate.emit(theme);\n }\n\n toggleReadingDirection() {\n if (this.readingDirectionModel === ReadingDirection.LeftToRight) {\n this.readingDirectionModel = ReadingDirection.RightToLeft;\n } else {\n this.readingDirectionModel = ReadingDirection.LeftToRight;\n }\n\n this.cdRef.markForCheck();\n this.readingDirection.emit(this.readingDirectionModel);\n }\n\n toggleWritingStyle() {\n if (this.writingStyleModel === WritingStyle.Horizontal) {\n this.writingStyleModel = WritingStyle.Vertical\n } else {\n this.writingStyleModel = WritingStyle.Horizontal\n }\n\n this.cdRef.markForCheck();\n this.bookReaderWritingStyle.emit(this.writingStyleModel);\n }\n\n toggleFullscreen() {\n this.isFullscreen = !this.isFullscreen;\n this.cdRef.markForCheck();\n this.fullscreen.emit();\n }\n}\n","// Important note about themes. Styles must be scoped to .book-content if not css variable overrides\nexport const BookDarkTheme = `\n:root .brtheme-dark {\n /* General */\n --color-scheme: dark;\n --bs-body-color: #292929;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: #efefef;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #292929;\n --drawer-text-color: white;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #292929;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: #292929;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #292929;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: white;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: white;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: #343a40;\n --input-bg-readonly-color: #434648;\n --input-focused-border-color: #ccc;\n --input-text-color: #fff;\n --input-placeholder-color: #aeaeae;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n /* Checkboxes/Switch */\n --checkbox-checked-bg-color: var(--primary-color);\n --checkbox-border-color: var(--input-focused-border-color);\n --checkbox-focus-border-color: var(--primary-color);\n --checkbox-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: white;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: black;\n \n}\n\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: #dcdcdc !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n.reader-container {\n color: #dcdcdc !important;\n background-image: none !important;\n background-color: #292929 !important;\n}\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: #292929;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n \n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(211, 138, 138) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #8db2e5 !important}\n\n`;","// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookBlackTheme = `\n:root .brtheme-black {\n /* General */\n --color-scheme: dark;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: #efefef;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #292929;\n --drawer-text-color: white;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n \n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #292929;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: #292929;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #292929;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: white;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: white;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: #343a40;\n --input-bg-readonly-color: #434648;\n --input-focused-border-color: #ccc;\n --input-text-color: #fff;\n --input-placeholder-color: #aeaeae;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: white;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: black;\n}\n\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: #dcdcdc !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n.reader-container {\n color: #dcdcdc !important;\n background-image: none !important;\n background-color: black !important;\n}\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: black;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n \n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(211, 138, 138) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #8db2e5 !important}\n`;","// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookWhiteTheme = `\n :root .brtheme-white {\n --drawer-text-color: white;\n --br-actionbar-bg-color: white;\n --bs-btn-active-color: black;\n --progress-bg-color: rgb(222, 226, 230);\n\n /* General */\n --color-scheme: light;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: black;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: white;\n --drawer-text-color: black;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n\n\n /* Accordion */\n --accordion-header-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: white;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-text-color: rgba(74, 198, 148, 0.9);\n --accordion-header-collapsed-bg-color: white;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: white;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: black;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: #efefef;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: white;\n --input-bg-readonly-color: white;\n --input-focused-border-color: #ccc;\n --input-text-color: black;\n --input-placeholder-color: black;\n --input-border-color: #ccc;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n\n\n /* Reading Bar */\n --br-actionbar-button-text-color: black;\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: white;\n\n /* Drawer */\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(0 0 0 / 13%);\n --drawer-pagination-border: 1px solid rgb(0 0 0 / 13%);\n}\n\n.reader-container {\n color: black !important;\n background-image: none !important;\n background-color: white !important;\n}\n\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: black !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n\n.book-content *:not(code), .book-content *:not(a) {\n background-color: white;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n\n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(240, 50, 50) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #00f !important}\n\n.btn-check:checked + .btn {\n color: white;\n background-color: var(--primary-color);\n}\n\n`;\n","// Important note about themes. Must have one section with .reader-container that contains color, background-color and rest of the styles must be scoped to .book-content\nexport const BookPaperTheme = `\n :root .brtheme-paper {\n --drawer-text-color: white;\n --br-actionbar-bg-color: white;\n --bs-btn-active-color: black;\n --progress-bg-color: rgb(222, 226, 230);\n\n /* General */\n --color-scheme: light;\n --bs-body-color: black;\n --hr-color: rgba(239, 239, 239, 0.125);\n --accent-bg-color: rgba(1, 4, 9, 0.5);\n --accent-text-color: lightgrey;\n --body-text-color: black;\n --btn-icon-filter: invert(1) grayscale(100%) brightness(200%);\n\n /* Drawer */\n --drawer-bg-color: #F1E4D5;\n --drawer-text-color: black;\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(255 255 255 / 20%);\n\n\n /* Accordion */\n --accordion-header-bg-color: rgba(52, 60, 70, 0.5);\n --accordion-body-bg-color: #F1E4D5;\n --accordion-body-border-color: rgba(239, 239, 239, 0.125);\n --accordion-body-text-color: var(--body-text-color);\n --accordion-header-collapsed-bg-color: #F1E4D5;\n --accordion-button-focus-border-color: unset;\n --accordion-button-focus-box-shadow: unset;\n --accordion-active-body-bg-color: #F1E4D5;\n\n /* Buttons */\n --btn-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-primary-text-color: white;\n --btn-primary-bg-color: var(--primary-color);\n --btn-primary-border-color: var(--primary-color);\n --btn-primary-hover-text-color: white;\n --btn-primary-hover-bg-color: var(--primary-color-darker-shade);\n --btn-primary-hover-border-color: var(--primary-color-darker-shade);\n --btn-alt-bg-color: #424c72;\n --btn-alt-border-color: #444f75;\n --btn-alt-hover-bg-color: #3b4466;\n --btn-alt-focus-bg-color: #343c59;\n --btn-alt-focus-boxshadow-color: rgb(255 255 255 / 50%);\n --btn-fa-icon-color: black;\n --btn-disabled-bg-color: #343a40;\n --btn-disabled-text-color: #efefef;\n --btn-disabled-border-color: #6c757d;\n\n /* Inputs */\n --input-bg-color: white;\n --input-bg-readonly-color: #F1E4D5;\n --input-focused-border-color: #ccc;\n --input-placeholder-color: black;\n --input-border-color: #ccc;\n --input-text-color: black;\n --input-focus-boxshadow-color: rgb(255 255 255 / 50%);\n\n /* Nav (Tabs) */\n --nav-tab-border-color: rgba(44, 118, 88, 0.7);\n --nav-tab-text-color: var(--body-text-color);\n --nav-tab-bg-color: var(--primary-color);\n --nav-tab-hover-border-color: var(--primary-color);\n --nav-tab-active-text-color: white;\n --nav-tab-border-hover-color: transparent;\n --nav-tab-hover-text-color: var(--body-text-color);\n --nav-tab-hover-bg-color: transparent;\n --nav-tab-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-border-bottom: rgba(44, 118, 88, 0.7);\n --nav-tab-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-top: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-left: rgba(44, 118, 88, 0.7);\n --nav-tab-hover-border-bottom: var(--bs-body-bg);\n --nav-tab-hover-border-right: rgba(44, 118, 88, 0.7);\n --nav-tab-active-hover-bg-color: var(--primary-color);\n --nav-link-bg-color: var(--primary-color);\n --nav-link-active-text-color: white;\n --nav-link-text-color: white;\n\n /* Reading Bar */\n --br-actionbar-button-hover-border-color: #6c757d;\n --br-actionbar-bg-color: #F1E4D5;\n\n /* Drawer */\n --drawer-pagination-horizontal-rule: inset 0 -1px 0 rgb(0 0 0 / 13%);\n\n /* Custom variables */\n --theme-bg-color: #fff3c9;\n}\n\n.reader-container {\n color: black !important;\n background-color: var(--theme-bg-color) !important;\n background: url(\"assets/images/paper-bg.png\");\n}\n\n.book-content *:not(input), .book-content *:not(select), .book-content *:not(code), .book-content *:not(:link), .book-content *:not(.ngx-toastr) {\n color: var(--bs-body-color) !important;\n}\n\n.book-content code {\n color: #e83e8c !important;\n}\n\n// KDB has a reboot style so for lighter themes, this is needed\n.book-content kbd {\n background-color: transparent;\n}\n\n.book-content :link, .book-content a {\n color: #8db2e5 !important;\n}\n\n.book-content img, .book-content img[src] {\nz-index: 1;\nfilter: brightness(0.85) !important;\nbackground-color: initial !important;\n}\n\n\n.book-content *:not(code), .book-content *:not(a), .book-content *:not(kbd) {\n //background-color: #F1E4D5;\n box-shadow: none;\n text-shadow: none;\n border-radius: unset;\n color: #dcdcdc !important;\n}\n\n.book-content :visited, .book-content :visited *, .book-content :visited *[class] {color: rgb(240, 50, 50) !important}\n.book-content :link:not(cite), :link .book-content *:not(cite) {color: #00f !important}\n\n.btn-check:checked + .btn {\n color: white;\n background-color: var(--primary-color);\n}\n\n.reader-container.column-layout-2::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 50%;\n height: 100%;\n box-shadow: 0px 0px 34.38px 5px rgba(0, 0, 0, 0.43), 0px 0px 6.28px 2px rgba(0, 0, 0, 0.43), 0px 0px 15.7px 4px rgba(0, 0, 0, 0.43), 0px 0px 1.57px 0.3px rgba(0, 0, 0, 0.43);\n}\n\n`;\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { TextResonse } from 'src/app/_types/text-response';\nimport { environment } from 'src/environments/environment';\nimport { BookChapterItem } from '../_models/book-chapter-item';\nimport { BookInfo } from '../_models/book-info';\n\nexport interface FontFamily {\n /**\n * What the user should see\n */\n title: string;\n /**\n * The actual font face\n */\n family: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BookService {\n\n baseUrl = environment.apiUrl;\n\n constructor(private http: HttpClient) { }\n\n getFontFamilies(): Array {\n return [{title: 'default', family: 'default'}, {title: 'EBGaramond', family: 'EBGaramond'}, {title: 'Fira Sans', family: 'Fira_Sans'},\n {title: 'Lato', family: 'Lato'}, {title: 'Libre Baskerville', family: 'Libre_Baskerville'}, {title: 'Merriweather', family: 'Merriweather'},\n {title: 'Nanum Gothic', family: 'Nanum_Gothic'}, {title: 'RocknRoll One', family: 'RocknRoll_One'}, {title: 'Open Dyslexic', family: 'OpenDyslexic2'}];\n }\n\n getBookChapters(chapterId: number) {\n return this.http.get>(this.baseUrl + 'book/' + chapterId + '/chapters');\n }\n\n getBookPage(chapterId: number, page: number) {\n return this.http.get(this.baseUrl + 'book/' + chapterId + '/book-page?page=' + page, TextResonse);\n }\n\n getBookInfo(chapterId: number) {\n return this.http.get(this.baseUrl + 'book/' + chapterId + '/book-info');\n }\n\n getBookPageUrl(chapterId: number, page: number) {\n return this.baseUrl + 'book/' + chapterId + '/book-page?page=' + page;\n }\n}\n"],"x_google_ignoreList":[]}