Comparing version 0.1.18 to 0.1.19
@@ -1,1 +0,1 @@ | ||
let _icons={color:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDEwcHgiIGhlaWdodD0iNDEwcHgiIHZpZXdCb3g9IjAgMCA0MTAgNDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2NCAoOTM1MzcpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPlByb2R1Y3QgbG9nb19Db3JlX0NvbG9yZnVsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iUHJvZHVjdC1sb2dvX0NvcmVfQ29sb3JmdWwiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNDcuODE2MjczLDE1My4yMTczNjggTDI0OS43MzA4MzIsMTUzLjI0MDUzMSBDMjg4LjIwODk3NCwxNTQuNjgzMDI3IDMwOS44NjQ2OSwxNzAuMzE1MTY2IDMyNy4xMDg5ODUsMTkzLjE1Nzg2MyBDMzE5LjIxNDY0MywyNzIuMzU1NTEyIDI1MC4wNjA3MTEsMzMwLjIwNTg3NSAxNzEuNTI0MjQzLDMyNi45OTY0NTIgQzEzMS41NjU5NzcsMzI0LjU5NjA3NCA5Ni42NjE3MDc5LDMwNi42MjYyNDMgNzEuNzI4NjYwMywyNzkuNTI0OTA0IEMxMTQuMzYxOTczLDIyMC43NDU5NzUgMTgzLjM2OTk5NCwxNTQuNDg2NTY3IDI0NS45MTAyLDE1My4yMzUyOTcgTDI0Ny44MTYyNzMsMTUzLjIxNzM2OCBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZDQzY2Ij48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zOC42MTYzNTQ5LDIyMi4wNjY3MTkgTDM4LjY0NTc3OTQsMjIyLjAyNTkxMSBDNTMuNTM5MzMwNiwyMDAuMDk3NjYyIDc3LjM5NzEwMiwxNzguMzEwNzk4IDEwOS4zNTcxNzUsMTg3LjA3OTMzOSBDMTcwLjEzNDY3OCwyMDQuOTc0MzIxIDIyNy4xODU1MTcsMjQxLjYzMjY1IDI2MS45Njk5NDQsMjQwLjU5NzMzNyBDMjk1LjA3NDUxOSwyMzkuNjEyMDI0IDMwOC40NDI4MzEsMjI5Ljc2ODUyNCAzMjIuOTQ3NzU1LDIxNi4yNjU1MTkgQzMwNS4yNzE4OTgsMjgzLjMyODM3MiAyNDIuMTk2OTA1LDMyOS44ODQ1MTggMTcxLjUyNDI0MywzMjYuOTk2NDUyIEMxMDcuNTE0ODg4LDMyMy4xNTEyNzQgNTYuNDc0NTk3NCwyNzkuMzUzMzE3IDM4LjYxNjM1NDksMjIyLjA2NjcxOSBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkY3NjczIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDQuMTIxOTYsMjAwLjcwMDUzMyBMMTQ1LjM5NDI1OCwxOTkuNjI5NTA3IEwxNDguMDE3NTk3LDIwMC42Mjk1MzIgQzE5MC42ODcwNTMsMjE2Ljk5MTg4OSAyMjQuNjI0ODg1LDIzNC42NTgzNDggMjUxLjM5MjkzNywyMzkuMjE4NTM1IEMyODQuODcxNTU1LDI0NC45MjE5MyAzMDYuOTExMzA5LDIyOS4wODI2NDkgMzIzLjA5MDg3NiwyMTUuNzI3ODAyIEMzMDUuNjEwNzkxLDI4My4wNzc4MzUgMjQyLjM4Njc5MywzMjkuODkyMjc4IDE3MS41MjQyNDMsMzI2Ljk5NjQ1MiBDMTMyLjI5MjA2LDMyNC42Mzk2OTEgOTcuOTMxODcwNiwzMDcuMjc0MTYzIDczLjA5NzY4NjMsMjgwLjk5MzE5OCBDOTEuODQzMzY1MSwyNTIuODc3MjA0IDExNi43MjExNDQsMjIzLjkyMTM2OSAxNDQuMTIxOTYsMjAwLjcwMDUzMyBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkY5RjczIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzkuODExMzg4LDMwMy41MjA0NjEgTDM5OS42MTMyOTksMzU3LjI2ODUzOCBDNDEyLjAwNDI4NSwzNjguNDA1MjQgNDEzLjAwNzA4OCwzODcuNDM2NCA0MDEuODU0NjU4LDM5OS44MDQ5NjcgQzM5MC44NDA4MDUsNDEyLjAxOTg0NiAzNzIuMDUzODAyLDQxMy4xMzY5MzcgMzU5LjY2NTE1Miw0MDIuNDAxMzA2IEwzNTkuMjQ5MTk3LDQwMi4wMzQyMTcgTDI5Ni4wOTAyNzQsMzQ1LjI2ODM1NSBDMzEyLjY3NTc1MSwzMzMuNjA4MDA1IDMyNy40MjI1NzcsMzE5LjUxOTIxOCAzMzkuODExMzg4LDMwMy41MjA0NjEgWiBNMC41NTAwMzIxOTIsMTY4LjQ4MjU2OCBDNS45MTU2MzY4OCw3MC4wNjA2NjE5IDkxLjc2NTMxMTksLTUuMDk3ODg0NzQgMTkwLjEzNDczMSwwLjI3MDU4Mjg4MSBDMjg4LjUwNDE1LDcuNDI4NTM5ODQgMzY1LjQxMTE1MSw5MS41MzQ1MzI4IDM1OC4yNTcwMTEsMTg5Ljk1NjQzOSBDMzUxLjEwMjg3MiwyODguMzc4MzQ1IDI2Ny4wNDE3MzIsMzYzLjUzNjg5MSAxNjguNjcyMzEzLDM1OC4xNjg0MjQgQzcwLjMwMjg5MzEsMzUyLjc5OTk1NiAtNC44MTU1NzI1LDI2Ni45MDQ0NzUgMC41NTAwMzIxOTIsMTY4LjQ4MjU2OCBaIE0xODcuOTUyMTI3LDMwLjkzOTA5ODEgQzEwNy40NTU0OTcsMjcuNjQ5NTcxNyAzNS4xNzI4MDk1LDkwLjE1MDU2ODUgMzEuODg3MjMyNSwxNzAuNzQzOTU5IEMyOC42MDE2NTU1LDI1MS4zMzczNSA4OS4zODQ4MjUxLDMyMi4wNjIxNjMgMTcxLjUyNDI0MywzMjYuOTk2NDUyIEMyNTIuMDIwODczLDMzMC4yODU5NzggMzIyLjY2MDc3MywyNjkuNDI5NzQ0IDMyNy41ODkxMzgsMTg3LjE5MTU5IEMzMzAuODQxODU5LDEwNy40MDQxMzQgMjcxLjMwMDgwMSwzNy4yODg4NzA1IDE5MC40MDk4NiwzMS4xMDY4MDggTDE4Ny45NTIxMjcsMzAuOTM5MDk4MSBaIiBpZD0i5b2i54q2IiBmaWxsPSIjMDA5OTk5Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",mono:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODJweCIgaGVpZ2h0PSI4MnB4IiB2aWV3Qm94PSIwIDAgODIgODIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDY0ICg5MzUzNykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+UHJvZHVjdCBsb2dvL0NvcmUvbGlnaHQvUHJvZHVjdCBsb2dvX0NvcmVfbGlnaHQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0i6aG16Z2iLTIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJQcm9kdWN0LWxvZ28vQ29yZS9saWdodC9Qcm9kdWN0LWxvZ29fQ29yZV9saWdodCIgZmlsbD0iIzAwOTk5OSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTQ5LjcwMjM4OTQsMzAuNTM0Mzc1NyBDMzYuOTc5Mjk1OCwzMC4yNDIwMTQ0IDIyLjc2MjgzNzUsNDMuODQ0MDgyNSAxNC4wODgwMDA5LDU1LjgzMDg5NDIgQzE5LjAwMzc0MTYsNjAuODAxMDM1NiAyNy4yNjU4Mjk3LDY1LjE5OTI3NTEgMzQuNzg0MDIxNCw2NS40OTE2MzY0IEM1MC4zOTg3MjcyLDY2LjM2ODcyMDIgNjMuODcxMjg5MSw1NC4yMTU2Mzc5IDY1LjMxNzA5NTIsMzguNzIwNDkxIEM2MS44NDcxNjA2LDM0LjA0MjcxMDggNTcuNTA5NzQyMywzMC44MjY3MzcgNDkuNzAyMzg5NCwzMC41MzQzNzU3IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC43OTU3ODIzNDMiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTY0LjgwOTUyNDgsNDIuNzU3MTY3MiBDNjEuNzMzNjIwMSw0NS42NjYxMDA5IDU5LjE0MTM0MTUsNDcuODI2MjM1MiA1Mi4yMDIxMDQ5LDQ4LjAzMzAxNzUgQzQ1LjI2Mjg2ODIsNDguMjM5Nzk5OSAzMy44ODE2NDY2LDQwLjkxODA1MzEgMjEuNzU2OTgyOSwzNy4zNDM4OTg5IEMxNS4yNTEwNjU4LDM1LjU1NjgyMTggMTAuNDI4MTQ0Niw0MC4xMjQxOTQxIDcuNDcwOTA5NTgsNDQuNTkxODg2OSBDMTEuMDE5NTkxNiw1Ni4yMDc4ODgxIDIxLjM2OTkxNDMsNjQuODQ1NDI3NSAzNC4wODYwMjUsNjUuNDQxMTE5OSBDNDguNTc2NDc2Nyw2Ni42MzI1MDQ3IDYxLjg1MjI4OTcsNTYuNzU1OTM4IDY0LjgwOTUyNDgsNDIuNzU3MTY3MiBaIiBpZD0i6Lev5b6EIiBmaWxsLW9wYWNpdHk9IjAuNzk1NzgyMzQzIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik02Ny43MzQ3ODc3LDYwLjMwNjg1NTUgTDc5LjY1NDg3MDMsNzAuOTk3MDA0NiBDODIuMTI0NjcyOCw3My4yMTIwODA5IDgyLjMyNDU1NDEsNzYuOTk3MzU1IDgwLjEwMTYyMzcsNzkuNDU3NDQ3NiBDNzcuOTA2MzE0Nyw4MS44ODY5NzE4IDc0LjE2MTY0MTksODIuMTA5MTU5OSA3MS42OTIzMDQ4LDc5Ljk3Mzg1NjEgTDcxLjYwOTM5NTYsNzkuOTAwODQyNiBMNTkuMDIwODA0LDY4LjYwOTg5OTUgQzYyLjMyNjQwMjcsNjYuMjkwNzkyOCA2NS4yNjU1NjM2LDYzLjQ4ODc0NDUgNjcuNzM0Nzg3Nyw2MC4zMDY4NTU1IFoiIGlkPSLlvaLnirbnu5PlkIgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM3LjQzOTk4NzQsNi4xNzc5NzkxNCBDNTMuODI2NTAyNCw3LjE2MjM1MTg5IDY1Ljk1MjUyMzUsMjEuMjcxNjk0NiA2NS4yOTcwNjMsMzcuMzQ5NzgyNyBDNjQuMzEzODcyMSw1My43NTU5OTUxIDUwLjIyMTQ2OTEsNjUuODk2NTkyMyAzNC4xNjI2ODQ0LDY1LjI0MDM0MzkgQzE3Ljc3NjE2OTQsNjQuMjU1OTcxMSA1LjY1MDE0ODI5LDUwLjE0NjYyODQgNi4zMDU2MDg5NCwzNC4wNjg1NDAyIEM2Ljk2MTA2OTU5LDE3Ljk5MDQ1MiAyMS4zODEyMDI4LDUuNTIxNzMwNiAzNy40Mzk5ODc0LDYuMTc3OTc5MTQgTTM3Ljg3NTQwOTEsMC4wNTk3MjE5NTc1IEMxOC4yNTEwNjc5LC0xLjAxMTI2NzggMS4xMjQzNzAxMiwxMy45ODI1ODg3IDAuMDUzOTUxNTEzMSwzMy42MTc0MDA5IEMtMS4wMTY0NjcxLDUzLjI1MjIxMzEgMTMuOTY5MzkzNCw3MC4zODgwNDkgMzMuNTkzNzM0Niw3MS40NTkwMzg4IEM1My4yMTgwNzU4LDcyLjUzMDAyODUgNjkuOTg3OTY3Myw1Ny41MzYxNzIgNzEuNDE1MTkyMSwzNy45MDEzNTk5IEM3Mi44NDI0MTY5LDE4LjI2NjU0NzggNTcuNDk5NzUwMiwxLjQ4NzcwODMyIDM3Ljg3NTQwOTEsMC4wNTk3MjE5NTc1IFoiIGlkPSLlvaLnirYiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",inverse:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDIwcHgiIGhlaWdodD0iNDIwcHgiIHZpZXdCb3g9IjAgMCA0MjAgNDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2NCAoOTM1MzcpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPlByb2R1Y3QgbG9nb19Db3JlX0Rhcms8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJQcm9kdWN0LWxvZ29fQ29yZV9EYXJrIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMjUzLjg2MDU3MywxNTYuOTU0Mzc3IEwyNTUuODIxODI4LDE1Ni45NzgxMDUgQzI5NS4yMzg0NjEsMTU4LjQ1NTc4MyAzMTcuNDIyMzY1LDE3NC40NjkxOTQgMzM1LjA4NzI1MywxOTcuODY5MDMxIEMzMjcuMDAwMzY2LDI3OC45OTgzMjkgMjU2LjE1OTc1MiwzMzguMjU5Njc3IDE3NS43MDc3NjEsMzM0Ljk3MTk3NSBDMTM0Ljc3NDkwMywzMzIuNTEzMDUyIDk5LjAxOTMxMDYsMzE0LjEwNDkzMiA3My40NzgxMzk4LDI4Ni4zNDI1ODQgQzExNy4xNTEyOSwyMjYuMTMwMDIzIDE4Ny44NDI0MzMsMTU4LjI1NDUzMiAyNTEuOTA4MDEsMTU2Ljk3Mjc0MyBMMjUzLjg2MDU3MywxNTYuOTU0Mzc3IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC44MDI5MzkyNDgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM5LjU1ODIxNzIsMjI3LjQ4Mjk4IEwzOS41ODgzNTkzLDIyNy40NDExNzcgQzU0Ljg0NTE2OCwyMDQuOTc4MDkzIDc5LjI4NDgzNjEsMTgyLjY1OTg0MiAxMTIuMDI0NDIzLDE5MS42NDIyNSBDMTc0LjI4NDMwNCwyMDkuOTczNjk0IDIzMi43MjY2MjcsMjQ3LjUyNjEyOSAyNjguMzU5NDU0LDI0Ni40NjU1NjUgQzMwMi4yNzE0NTgsMjQ1LjQ1NjIxOSAzMTUuOTY1ODI2LDIzNS4zNzI2MzQgMzMwLjgyNDUyOSwyMjEuNTQwMjg4IEMzMTIuNzE3NTU0LDI5MC4yMzg4MiAyNDguMTA0MTQ3LDMzNy45MzA0ODIgMTc1LjcwNzc2MSwzMzQuOTcxOTc1IEMxMTAuMTM3MjAzLDMzMS4wMzMwMTMgNTcuODUyMDI2NiwyODYuMTY2ODEzIDM5LjU1ODIxNzIsMjI3LjQ4Mjk4IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC44MDI5MzkyNDgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM0OC4wOTk0NzEsMzEwLjkyMzM5OSBMNDA5LjM1OTk2NSwzNjUuOTgyNDA1IEM0MjIuMDUzMTcsMzc3LjM5MDczNCA0MjMuMDgwNDMyLDM5Ni44ODYwNjkgNDExLjY1NTk5MSw0MDkuNTU2MzA4IEM0MDAuMzczNTA4LDQyMi4wNjkxMSAzODEuMTI4Mjg1LDQyMy4yMTM0NDggMzY4LjQzNzQ3Myw0MTIuMjE1OTcyIEwzNjguMDExMzcyLDQxMS44Mzk5MjkgTDMwMy4zMTE5ODgsMzUzLjY4OTUzNSBDMzIwLjMwMTk4OSwzNDEuNzQ0Nzg2IDMzNS40MDg0OTMsMzI3LjMxMjM3IDM0OC4wOTk0NzEsMzEwLjkyMzM5OSBaIE0wLjU2MzQ0NzYxMSwxNzIuNTkxODk5IEM2LjA1OTkyMDcxLDcxLjc2OTQ1ODUgOTQuMDAzNDkwMiwtNS4yMjIyMjMzOSAxOTQuNzcyMTY0LDAuMjc3MTgyNDYzIEMyOTUuNTQwODM3LDcuNjA5NzIzNzQgMzc0LjMyMzYxOCw5My43NjcwODI0IDM2Ni45OTQ5ODcsMTk0LjU4OTUyMyBDMzU5LjY2NjM1NywyOTUuNDExOTYzIDI3My41NTQ5NDUsMzcyLjQwMzY0NSAxNzIuNzg2MjcxLDM2Ni45MDQyMzkgQzcyLjAxNzU5NzgsMzYxLjQwNDgzMyAtNC45MzMwMjU0OCwyNzMuNDE0MzQgMC41NjM0NDc2MTEsMTcyLjU5MTg5OSBaIE0xOTIuNTM2MzI1LDMxLjY5MzcxMDMgQzExMC4wNzYzNjMsMjguMzIzOTUxNSAzNi4wMzA2ODI5LDkyLjM0OTM2MjkgMzIuNjY0OTY5OSwxNzQuOTA4NDQ2IEMyOS4yOTkyNTY5LDI1Ny40Njc1MyA5MS41NjQ5NDI4LDMyOS45MTczMzcgMTc1LjcwNzc2MSwzMzQuOTcxOTc1IEMyNTguMTY3NzI0LDMzOC4zNDE3MzQgMzMwLjUzMDU0OCwyNzYuMDAxMjAxIDMzNS41NzkxMTcsMTkxLjc1NzIzOSBDMzM4LjkxMTE3MiwxMTAuMDIzNzQ3IDI3Ny45MTc4OTQsMzguMTk4MzU1MSAxOTUuMDU0MDAzLDMxLjg2NTUxMDcgTDE5Mi41MzYzMjUsMzEuNjkzNzEwMyBaIiBpZD0i5b2i54q2Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",closeLight:"data:image/svg+xml;utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ5Ni4wOTYgNDk2LjA5NjsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI0OTYuMDk2IiBoZWlnaHQ9IjQ5Ni4wOTYiPjxyZWN0IGlkPSJiYWNrZ3JvdW5kcmVjdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgeD0iMCIgeT0iMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIi8+CgoKCgoKCgoKCgoKCgoKCgo8ZyBjbGFzcz0iY3VycmVudExheWVyIiBzdHlsZT0iIj48dGl0bGU+TGF5ZXIgMTwvdGl0bGU+PGcgaWQ9InN2Z18xIiBjbGFzcz0ic2VsZWN0ZWQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSI+Cgk8ZyBpZD0ic3ZnXzIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSI+CgkJPHBhdGggZD0iTTI1OS40MSwyNDcuOTk4TDQ5My43NTQsMTMuNjU0YzMuMTIzLTMuMTI0LDMuMTIzLTguMTg4LDAtMTEuMzEyYy0zLjEyNC0zLjEyMy04LjE4OC0zLjEyMy0xMS4zMTIsMEwyNDguMDk4LDIzNi42ODYgICAgTDEzLjc1NCwyLjM0MkMxMC41NzYtMC43MjcsNS41MTItMC42MzksMi40NDIsMi41MzljLTIuOTk0LDMuMS0yLjk5NCw4LjAxNSwwLDExLjExNWwyMzQuMzQ0LDIzNC4zNDRMMi40NDIsNDgyLjM0MiAgICBjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NmMwLjA2Ny0wLjA2NCwwLjEzMi0wLjEzLDAuMTk2LTAuMTk2TDI0OC4wOTgsMjU5LjMxICAgIGwyMzQuMzQ0LDIzNC4zNDRjMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZjMi45OTUtMy4xLDIuOTk1LTguMDE2LDAtMTEuMTE2TDI1OS40MSwyNDcuOTk4eiIgZmlsbD0iI2ZmZmZmZiIgaWQ9InN2Z18zIiBmaWxsLW9wYWNpdHk9IjEiLz4KCTwvZz4KPC9nPjxnIGlkPSJzdmdfNCI+CjwvZz48ZyBpZD0ic3ZnXzUiPgo8L2c+PGcgaWQ9InN2Z182Ij4KPC9nPjxnIGlkPSJzdmdfNyI+CjwvZz48ZyBpZD0ic3ZnXzgiPgo8L2c+PGcgaWQ9InN2Z185Ij4KPC9nPjxnIGlkPSJzdmdfMTAiPgo8L2c+PGcgaWQ9InN2Z18xMSI+CjwvZz48ZyBpZD0ic3ZnXzEyIj4KPC9nPjxnIGlkPSJzdmdfMTMiPgo8L2c+PGcgaWQ9InN2Z18xNCI+CjwvZz48ZyBpZD0ic3ZnXzE1Ij4KPC9nPjxnIGlkPSJzdmdfMTYiPgo8L2c+PGcgaWQ9InN2Z18xNyI+CjwvZz48ZyBpZD0ic3ZnXzE4Ij4KPC9nPjwvZz48L3N2Zz4=",closeDark:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ5Ni4wOTYgNDk2LjA5NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDk2LjA5NiA0OTYuMDk2OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjU5LjQxLDI0Ny45OThMNDkzLjc1NCwxMy42NTRjMy4xMjMtMy4xMjQsMy4xMjMtOC4xODgsMC0xMS4zMTJjLTMuMTI0LTMuMTIzLTguMTg4LTMuMTIzLTExLjMxMiwwTDI0OC4wOTgsMjM2LjY4NiAgICBMMTMuNzU0LDIuMzQyQzEwLjU3Ni0wLjcyNyw1LjUxMi0wLjYzOSwyLjQ0MiwyLjUzOWMtMi45OTQsMy4xLTIuOTk0LDguMDE1LDAsMTEuMTE1bDIzNC4zNDQsMjM0LjM0NEwyLjQ0Miw0ODIuMzQyICAgIGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2YzAuMDY3LTAuMDY0LDAuMTMyLTAuMTMsMC4xOTYtMC4xOTZMMjQ4LjA5OCwyNTkuMzEgICAgbDIzNC4zNDQsMjM0LjM0NGMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NmMyLjk5NS0zLjEsMi45OTUtOC4wMTYsMC0xMS4xMTZMMjU5LjQxLDI0Ny45OTh6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==",gridView:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDM1OSAzNTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM1OSAzNTk7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik05NiwwSDEzQzcuNSwwLDMsNC41LDMsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMFYxMEMxMDYsNC41LDEwMS41LDAsOTYsMHogTTg3LDg0SDIzVjIwaDY0Vjg0eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTIyMSwwaC04M2MtNS41LDAtMTAsNC41LTEwLDEwdjgzYzAsNS41LDQuNSwxMCwxMCwxMGg4M2M1LjUsMCwxMC00LjUsMTAtMTBWMTBDMjMxLDQuNSwyMjYuNSwwLDIyMSwweiBNMjEyLDg0aC02NFYyMCAgICBoNjRWODR6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTYsMTI2SDEzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMTA2LDEzMC41LDEwMS41LDEyNiw5NiwxMjZ6IE04NywyMDlIMjMgICAgdi02M2g2NFYyMDl6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjIxLDEyNmgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwdi04M0MyMzEsMTMwLjUsMjI2LjUsMTI2LDIyMSwxMjZ6ICAgICBNMjEyLDIwOWgtNjR2LTYzaDY0VjIwOXoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zNDYsMGgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwVjEwQzM1Niw0LjUsMzUxLjUsMCwzNDYsMHogTTMzNyw4NGgtNjRWMjAgICAgaDY0Vjg0eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTM0NiwxMjZoLTgzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMzU2LDEzMC41LDM1MS41LDEyNiwzNDYsMTI2eiAgICAgTTMzNywyMDloLTY0di02M2g2NFYyMDl6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTYsMjU2SDEzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMTA2LDI2MC41LDEwMS41LDI1Niw5NiwyNTZ6IE04NywzNDBIMjMgICAgdi02NGg2NFYzNDB6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjIxLDI1NmgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwdi04M0MyMzEsMjYwLjUsMjI2LjUsMjU2LDIyMSwyNTZ6ICAgICBNMjEyLDM0MGgtNjR2LTY0aDY0VjM0MHoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zNDYsMjU2aC04M2MtNS41LDAtMTAsNC41LTEwLDEwdjgzYzAsNS41LDQuNSwxMCwxMCwxMGg4M2M1LjUsMCwxMC00LjUsMTAtMTB2LTgzQzM1NiwyNjAuNSwzNTEuNSwyNTYsMzQ2LDI1NnogICAgIE0zMzcsMzQwaC02NHYtNjRoNjRWMzQweiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=",listView:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDM0My41IDM0My41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzNDMuNSAzNDMuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMyMi4wNSwxNjEuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwQzMzMi4wNSwxNjYuMywzMjcuNjUsMTYxLjgsMzIyLjA1LDE2MS44ICAgIHoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik01Ny45NSwxMjUuM2MtMjUuNywwLTQ2LjUsMjAuOC00Ni41LDQ2LjVzMjAuOCw0Ni41LDQ2LjUsNDYuNXM0Ni41LTIwLjgsNDYuNS00Ni41UzgzLjY1LDEyNS4zLDU3Ljk1LDEyNS4zeiAgICAgTTU3Ljk1LDE5OC4zYy0xNC43LDAtMjYuNS0xMS45LTI2LjUtMjYuNWMwLTE0LjcsMTEuOS0yNi41LDI2LjUtMjYuNWMxNC42LDAsMjYuNSwxMS45LDI2LjUsMjYuNVM3Mi41NSwxOTguMyw1Ny45NSwxOTguM3oiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zMjIuMDUsMzYuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwQzMzMi4wNSw0MS4zLDMyNy42NSwzNi44LDMyMi4wNSwzNi44eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTU3Ljk1LDBjLTI1LjcsMC00Ni41LDIwLjgtNDYuNSw0Ni41YzAsMjUuNywyMC44LDQ2LjUsNDYuNSw0Ni41czQ2LjUtMjAuOCw0Ni41LTQ2LjVDMTA0LjQ1LDIwLjksODMuNjUsMC4xLDU3Ljk1LDB6ICAgICBNNTcuOTUsNzMuMWMtMTQuNywwLTI2LjUtMTEuOS0yNi41LTI2LjVjMC0xNC42LDExLjktMjYuNSwyNi41LTI2LjVjMTQuNywwLDI2LjUsMTEuOSwyNi41LDI2LjUgICAgQzg0LjQ1LDYxLjIsNzIuNTUsNzMuMSw1Ny45NSw3My4xeiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMyMi4wNSwyODYuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwUzMyNy42NSwyODYuOCwzMjIuMDUsMjg2Ljh6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTcuOTUsMjUwLjVjLTI1LjcsMC00Ni41LDIwLjgtNDYuNSw0Ni41YzAsMjUuNywyMC44LDQ2LjUsNDYuNSw0Ni41czQ2LjUtMjAuOCw0Ni41LTQ2LjUgICAgQzEwNC40NSwyNzEuNCw4My42NSwyNTAuNSw1Ny45NSwyNTAuNXogTTU3Ljk1LDMyMy42Yy0xNC43LDAtMjYuNS0xMS45LTI2LjUtMjYuNWMwLTE0LjcsMTEuOS0yNi41LDI2LjUtMjYuNSAgICBjMTQuNywwLDI2LjUsMTEuOSwyNi41LDI2LjVTNzIuNTUsMzIzLjYsNTcuOTUsMzIzLjZ6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="},stylesElement=document.createElement("style");stylesElement.innerHTML="\n@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;700&display=swap');\n@keyframes jina-bg-rotate {\n\t100% {\n\t\ttransform: rotate(1turn);\n\t}\n}\n.jina-bg-default {\n position: relative;\n border-radius: 100px;\n border-color: #009999;\n overflow: hidden;\n border-style: solid;\n border-width: 1px;\n}\n.jina-theme-persian .jina-bg-default{\n\tborder-color: #009999;\n}\n.jina-theme-pompelmo .jina-bg-default{\n\tborder-color: #FF6666;\n}\n.jina-theme-honeybee .jina-bg-default{\n\tborder-color: #FFCC66;\n}\n.jina-bg-rainbow {\n position: relative;\n z-index: 0;\n border-radius: 50px;\n overflow-y: hidden;\n padding: 1px;\n}\n.jina-bg-rainbow:before {\n content: '';\n position: absolute;\n z-index: -2;\n left: -50%;\n top: -450%;\n width: 200%;\n height: 1000%;\n background-color: #399953;\n background-repeat: no-repeat;\n background-size: 50% 50%, 50% 50%;\n background-position: 0 0, 100% 0, 100% 100%, 0 100%;\n background-image: linear-gradient(#399953, #399953), linear-gradient(#fbb300, #fbb300), linear-gradient(#d53e33, #d53e33), linear-gradient(#377af5, #377af5);\n animation: jina-bg-rotate 4s linear infinite;\n}\n.jina-bg-rainbow:after {\n content: '';\n position: absolute;\n z-index: -1;\n left: 1px;\n top: 1px;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n background: white;\n border-radius: 50px;\n}\n.jina-search-input::placeholder {\n opacity: .5;\n font-weight: 700;\n\t\tfont-size: .75em;\n\t\tline-height:1.5;\n}\n.jina-sea {\n width: 300px;\n height: 300px;\n background-color: whitesmoke;\n background-image: linear-gradient(#009999, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n position: relative;\n}\n.jina-theme-persian .jina-sea{\n\tbackgrond-image: linear-gradient(#009999, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n.jina-theme-pompelmo .jina-sea{\n\tbackground-image: linear-gradient(#ff6666, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n.jina-theme-honeybee .jina-sea{\n\tbackground-image: linear-gradient(#ffcc66, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n\n.jina-sea .title {\n color: white;\n font-size: 24px;\n font-family: Comfortaa;\n text-align: center;\n line-height: 250px;\n position: absolute;\n z-index: 1;\n width: 100%;\n}\n.jina-sea .jina-wave {\n position: absolute;\n top: -250px;\n left: -100px;\n width: 500px;\n height: 500px;\n background: #009999;\n border-radius: 35%;\n filter: opacity(0.4);\n animation: jina-drift linear infinite;\n transform-origin: 50% 48%;\n}\n.jina-theme-persian .jina-sea .jina-wave{\n\tbackground: #009999;\n}\n.jina-theme-pompelmo .jina-sea .jina-wave{\n\tbackground: #ff6666;\n}\n.jina-theme-honeybee .jina-sea .jina-wave{\n\tbackground: #ffcc66;\n}\n\n.jina-sea .jina-wave:nth-of-type(1) {\n animation-duration: 5s;\n}\n.jina-sea .jina-wave:nth-of-type(2) {\n animation-duration: 7s;\n}\n.jina-sea .jina-wave:nth-of-type(3) {\n animation-duration: 9s;\n background-color: #009999;\n filter: opacity(0.1);\n}\n.jina-theme-persian .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #009999 !important;\n}\n.jina-theme-pompelmo .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #ff6666 !important;\n}\n.jina-theme-honeybee .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #ffcc66 !important;\n}\n\n@keyframes jina-drift {\n from {\n transform: rotate(360deg);\n }\n}\n.jina-floater-container {\n font-family: Comfortaa;\n position: fixed;\n bottom: 2em;\n right: 2em;\n}\n.jina-floater {\n background: white;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n width: 3.5em;\n height: 3.5em;\n border-radius: 50%;\n position: relative;\n cursor: pointer;\n overflow: hidden;\n}\n.jina-theme-persian .jina-floater{\n\tbackground: #009999;\n}\n.jina-theme-pompelmo .jina-floater {\n\tbackground: #ff6666;\n}\n.jina-theme-honeybee .jina-floater {\n\tbackground: #ffcc66;\n}\n.jina-floater-icon {\n width: 1.5em;\n height: 1.5em;\n position: absolute;\n top: 1em;\n left: 1em;\n transition: .2s;\n}\n.jina-floater {\n transition: .2s;\n}\n.jina-floater-large {\n width: 14em;\n height: 14em;\n transition: .2s;\n}\n.jina-floater-large .jina-floater-icon {\n left: 6em;\n top: 3em;\n}\n.jina-floater-box {\n position: fixed;\n background: white;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n bottom: 6em;\n right: 2em;\n height: 0px;\n max-height: 65vh;\n width: 300px;\n border-radius: 1em;\n flex-direction: column;\n align-items: stretch;\n font-family: Comfortaa;\n opacity: 0;\n transition: all .2s ease-out;\n display: flex;\n visibility: hidden;\n}\n.jina-floater-box-visible {\n\topacity: 1;\n visibility: visible;\n height: 400px\n}\n.jina-search-input {\n font-family: Comfortaa;\n font-size: 1em;\n border: none;\n outline: none;\n padding: .5em;\n\t\tpadding-left: 2.5rem;\n\t\tmargin: 0px;\n\t\tline-height: 1;\n}\n.jina-floater-search-container {\n padding: .5em;\n border-radius: .5em .5em 0em 0em;\n position: relative;\n}\n.jina-floater-results-container {\n align-content: flex-end;\n border: 1px solid white;\n border-radius: .5em;\n margin: .5em;\n height: 100%;\n overflow-y: auto;\n transition: .2s;\n}\n.jina-floater-file-input {\n display: none;\n}\n.jina-floater-result, .jina-result {\n background: white;\n margin: .1em;\n border-radius: .25em;\n cursor: pointer;\n transition: .1s;\n}\n.jina-result.jina-text-result{\n\ttext-align: left;\n\tpadding: .25em;\n\tpadding-left: .5em;\n\tpadding-right: .5em;\n}\n.jina-grid-container {\n display: inline-block;\n margin: none;\n width: 33%;\n}\n.jina-floater-result:hover, .jina-result:hover {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n}\n.jina-results-area {\n font-family: Comfortaa;\n padding: .5em;\n height: 100%;\n overflow-y: auto;\n}\n.jina-highlighted {\n border-color: #009999;\n}\n\n.jina-theme-persian .jina-highlighted {\n\tborder-color: #009999;\n}\n.jina-theme-pompelmo .jina-highlighted {\n\tborder-color: #FF6666;\n}\n.jina-theme-honeybee .jina-highlighted {\n\tborder-color: #FFCC66;\n}\n\n.jina-search-icon {\n height: 1.25rem;\n position: absolute;\n top: .5rem;\n left: .65rem;\n\t\tpadding-right: .25rem;\n}\n.jina-border-right {\n border-right: 1px solid #009999;\n}\n.jina-floater-instructions {\n text-align: center;\n opacity: .5;\n\tmargin-top: 40%;\n}\n.jina-results-label {\n font-size: .75em;\n text-align: left;\n padding-left: .5em;\n font-family: Comfortaa;\n margin-top: 1em;\n margin-left: .5em;\n opacity: .5;\n}\n.jina-search-container {\n position: relative;\n}\n.jina-persian {\n border-color: #009999;\n}\n.jina-searchbar-container {\n width: 300px;\n position: relative;\n display: inline-block;\n}\n.jina-expander {\n\t\tfont-family: Comfortaa;\n\t\tbackground: white;\n position: absolute;\n top: 2px;\n width: 100%;\n border-radius: 1.1em;\n padding-top: 0em;\n padding-bottom: 0em;\n text-align: center;\n opacity: 0;\n height: 0px;\n transition: .2s;\n overflow: hidden;\n max-height: 65vh;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n}\n.jina-expander-results-area {\n overflow-x: hidden;\n overflow-y: auto;\n padding-bottom: .5em;\n flex: fill;\n}\n.jina-expander-spacer {\n margin-top: 3em;\n}\n.jina-expander-close {\n cursor: pointer;\n color: white;\n padding-top: .5em;\n padding-bottom: .5em;\n background: #009999;\n}\n.jina-contained {\n width: 100%;\n box-sizing: border-box;\n}\n.jina-floater-label {\n font-family: Comfortaa;\n text-align: center;\n padding-top: 5em;\n padding-right: 2.5em;\n padding-left: 2.5em;\n color: #fff;\n opacity: 0;\n font-size: 1px;\n transition: .2s;\n text-transform: uppercase;\n}\n.jina-floater-large .jina-floater-label {\n font-size: 1.25em;\n opacity: 1;\n}\n.jina-expander-label {\n font-family: Comfortaa;\n text-align: center;\n color: white;\n}\n.jina-dropdown-message {\n font-family: Comfortaa;\n padding-top: 9em;\n padding-bottom: 3em;\n padding-right: .5em;\n padding-left: .5em;\n height: 100%;\n}\n.jina-error {\n background: linear-gradient(to bottom left, #EF8D9C 40%, #FFC39E 100%);;\n}\n.jina-ready {\n background: linear-gradient(to bottom right, #009999 40%, #32C8CD 100%);\n color: #fff;\n}\n.jina-theme-persian .jina-ready{\n\tbackground: linear-gradient(to bottom right, #009999 40%, #32C8CD 100%);\n}\n.jina-theme-pompelmo .jina-ready{\n\tbackground: linear-gradient(to bottom right, #FF6666 40%, #ff8b8b 100%);\n}\n.jina-theme-honeybee .jina-ready{\n\tbackground: linear-gradient(to bottom right, #FFCC66 40%, #ffda8f 100%);\n}\n\n.jina-dropdown-message h4 {\n font-weight: 100;\n letter-spacing: 3px;\n padding-top: 5px;\n color: white;\n padding-bottom: 5px;\n text-transform: uppercase;\n}\n.jina-dropdown-message p {\n color: white;\n}\n.jina-dropdown-message button {\n\t\tfont-family: Comfortaa;\n\t\tbackground: whitesmoke;\n padding: .5em;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n border: none;\n border-radius: 20px;\n cursor: pointer;\n outline: none;\n}\n.jina-face {\n position: absolute;\n width: 4em;\n height: 4em;\n background: white;\n border-radius: 50%;\n top: 4em;\n left: 37.5%;\n z-index: 2;\n animation: jina-animation-bounce 1s ease-in infinite;\n}\n.jina-shadow {\n position: absolute;\n width: 3.75em;\n height: .75em;\n opacity: .5;\n background: #777777;\n left: 7.25em;\n top: 8em;\n border-radius: 50%;\n z-index: 1;\n}\n.jina-scale {\n animation: jina-animation-scale 1s ease-in infinite;\n}\n.jina-move {\n animation: jina-animation-move 3s ease-in-out infinite;\n}\n.jina-roll {\n animation: jina-animation-roll 3s ease-in-out infinite;\n}\n@keyframes jina-animation-scale {\n 50% {\n transform: scale(0.9);\n }\n}\n@keyframes jina-animation-move {\n 0% {\n left: 25%;\n }\n 50% {\n left: 60%;\n }\n 100% {\n left: 25%;\n }\n}\n@keyframes jina-animation-roll {\n 0% {\n transform: rotate(0deg);\n left: 25%;\n }\n 50% {\n left: 60%;\n transform: rotate(168deg);\n }\n 100% {\n transform: rotate(0deg);\n left: 25%;\n }\n}\n@keyframes jina-animation-bounce {\n 50% {\n transform: translateY(-15px);\n }\n}\n.jina-expander-overlay {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, .5);\n display: none;\n opacity: 0;\n}\n.jina-results-toolbar {\n margin-top: 3em;\n padding-right: .5em;\n padding-left: .5em;\n text-align: left;\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n flex-direction: row;\n\t\tborder-bottom: 1px solid #cfd8dc;\n}\n.jina-results-tabs {\n overflow-x: auto;\n\t\tflex: 1;\n\t\tdisplay: block;\n}\n.jina-results-tab {\n display: inline-block;\n margin: .15em;\n cursor: pointer;\n border-bottom: 2px solid #cfd8dc;\n}\n.jina-results-tab.jina-active {\n border-bottom-color: #009999;\n}\n.jina-theme-persian .jina-results-tab.jina-active{\n\tborder-bottom-color: #009999;\n}\n.jina-theme-pompelmo .jina-results-tab.jina-active{\n\tborder-bottom-color: #FF6666;\n}\n.jina-theme-honeybee .jina-results-tab.jina-active{\n\tborder-bottom-color: #FFCC66;\n}\n\n.jina-results-tab-img {\n width: 2em;\n height: 2em;\n margin-bottom: .25em;\n border-radius: .25em;\n}\n.jina-results-action-button {\n\t\tbox-sizing: border-box;\n cursor: pointer;\n width: 1.85em;\n height: 1.85em;\n border-radius: 5px;\n \tpadding: .25em;\n}\n.jina-results-action-button.jina-active {\n background-color: rgba(0, 153, 153, 0.25);\n}\n.jina-theme-persian .jina-results-action-button.jina-active {\n\tbackground-color: rgba(0, 153, 153, 0.25);\n}\n.jina-theme-pompelmo .jina-results-action-button.jina-active {\n\tbackground-color: rgba(255, 102, 102, 0.25);;\n}\n.jina-theme-honeybee .jina-results-action-button.jina-active {\n\tbackground-color: rgba(255, 204, 102, 0.25);\n}\n\n.eye {\n position: absolute;\n width: 5px;\n height: 5px;\n background: #777777;\n border-radius: 50%;\n top: 40%;\n left: 20%;\n}\n.right {\n left: 68%;\n}\n.mouth {\n position: absolute;\n top: 43%;\n left: 41%;\n width: 7px;\n height: 7px;\n border-radius: 50%;\n}\n.happy {\n border: 2px solid;\n border-color: transparent #777777 #777777 transparent;\n transform: rotate(45deg);\n}\n.sad {\n top: 49%;\n border: 2px solid;\n border-color: #777777 transparent transparent #777777;\n transform: rotate(45deg);\n}\n.unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";document.body.appendChild(stylesElement);let defaultPlaceholders=["type or drag anything to search","powered by Jina","unleash your curiosity and happy searching"],defaultSettings={showResults:!0,typewriterEffect:!1,typewriterDelayCharacter:50,typewriterDelayItem:1e3,theme:"persian",searchIcon:"color",floaterIcon:"color",globalDrag:!0};class Floater extends HTMLElement{constructor(){super();this.listenForEnter=t=>{13==t.keyCode&&this.search()};this.search=async(t=[this.searchInput.value],n=!1)=>{if(!n){this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right")}let e;try{e=await window.JinaBox.search(t,10,n);this.dropped=!1}catch(t){this.dropped=!1;return}let i=[],{docs:a}=e.search;for(let t=0;t<a.length;++t){let n=a[t],{topkResults:e}=n;for(let t=0;t<e.length;++t){const n=e[t];i.push({data:n.matchDoc.uri,score:n.score.value,contentType:n.matchDoc.uri.startsWith("data:image/")?"image":"text"})}}this.results=i;let s="";this.results=this.results.sort((t,n)=>n.score-t.score);s+=`<p class="jina-floater-results-label">results for ${n?`${t.length} image input${t.length>1?"s":""}`:`"${t}"`}</p>`;this.results.map((t,n)=>{s+=`<div class="jina-floater-result" id="jina-floater-result-${n}">${"text"===t.contentType?t.data:`<img src="${t.data}" class="jina-result-image"/>`}</div>`});this.dropArea.innerHTML=s;this.results.map((t,n)=>{document.getElementById("jina-floater-result-"+n).addEventListener("click",()=>{this.search([t.data],t.data.startsWith("data:image/"))})})};this.preventDefaults=t=>{t.preventDefault();t.stopPropagation()};this.handleDrag=()=>{this.dragCounter++;if(this.showBox){this.highlightArea();this.highlightSearch()}else this.showLargeFloater()};this.handleDragLeave=()=>{this.dragCounter--;if(this.dragCounter<1){if(this.showBox){this.unhighlightArea();this.unhighlightSearch()}else this.hideLargeFloater();this.dragCounter=0}};this.handleDrop=async t=>{let n=t.dataTransfer,e=n.getData("URL");this.handleDragLeave();this.showBox||this.toggleShow();if(e)if(e.startsWith("data:")){this.search([e],!0);this.searchIcon.src=e;this.searchIcon.classList.add("jina-border-right")}else{let n;try{n=await getDataUri(e)}catch(t){n=e}this.searchIcon.src=n;this.searchIcon.classList.add("jina-border-right");this.search([e],!0)}else{let t=n.files,e=[];for(let n=0;n<t.length;++n){const i=t[n];let a=new FileReader;a.addEventListener("load",()=>{const n=a.result;e.push(n);if(e.length===t.length){this.search(e,!0);this.searchIcon.src=e[0];this.searchIcon.classList.add("jina-border-right")}},!1);a.readAsDataURL(i)}}};this.toggleShow=()=>{this.showBox=!this.showBox;if(this.showBox){this.floaterBox.classList.add("jina-floater-box-visible");document.querySelector("#jina-floater-icon img").src=this.closeIcon}else{this.floaterBox.classList.remove("jina-floater-box-visible");document.querySelector("#jina-floater-icon img").src=this.floaterIcon}};this.showLargeFloater=()=>{this.jinaButton.classList.add("jina-floater-large");this.jinaButton.classList.add("jina-ready")};this.hideLargeFloater=()=>{this.jinaButton.classList.remove("jina-floater-large");this.jinaButton.classList.remove("jina-ready")};this.highlightArea=()=>{this.dropArea.classList.add("jina-highlighted");this.dropArea.classList.add("jina-ready")};this.unhighlightArea=()=>{this.dropArea.classList.remove("jina-highlighted");this.dropArea.classList.remove("jina-ready")};this.highlightSearch=()=>{this.searchInput.classList.add("jina-highlighted")};this.unhighlightSearch=()=>{this.searchInput.classList.remove("jina-highlighted")};this.settings={};let t=Object.keys(defaultSettings);for(let n=0;n<t.length;++n){const e=t[n];this.settings[e]=this.getAttribute(e)||defaultSettings[e]}this.getAttribute("floaterIcon")||"default"!==this.settings.theme&&(this.settings.floaterIcon="inverse");"default"!==this.settings.theme?this.closeIcon=_icons.closeLight:this.closeIcon=_icons.closeDark;this.floaterIcon=_icons[this.settings.floaterIcon]||this.settings.floaterIcon;const n=_icons[this.settings.searchIcon]||this.settings.searchIcon;this.originalSearchIcon=n;this.innerHTML=`\n\t\t<div class="jina-floater-container jina-theme-${this.settings.theme}">\n\t\t\t<div class="jina-floater" id="jina-floater-icon">\n\t\t\t\t<img src="${this.floaterIcon}" class="jina-floater-icon"/>\n\t\t\t\t<h4 class="jina-floater-label">Drop here</h4>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="jina-floater-box jina-theme-${this.settings.theme}" id="jina-floater-box">\n\t\t\t<div class="jina-floater-search-container">\n\t\t\t\t<div id="jina-floater-background-search-container" class="jina-bg-default">\n\t\t\t\t\t<div class="jina-search-container">\n\t\t\t\t\t\t<img src="${n}" class="jina-search-icon" id="jina-floater-search-icon" />\n\t\t\t\t\t\t<input placeholder="type or drop to search" class="jina-search-input jina-contained" id="jina-floater-search-box" autocomplete="off">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="jina-floater-results-container" id="jina-floater-drop-area">\n\t\t\t\t<input type="file" id="jina-floater-file-input" class="jina-floater-file-input" multiple>\n\t\t\t\t<h3 class="jina-floater-instructions">Drop here to search</h3>\n\t\t\t</div>\n\t\t</div>\n\t\t`;this.showBox=!1;this.dragCounter=0;this.jinaButton=document.getElementById("jina-floater-icon");this.dropArea=document.getElementById("jina-floater-drop-area");this.searchInput=document.getElementById("jina-floater-search-box");this.searchBackground=document.getElementById("jina-floater-background-search-container");this.floaterBox=document.getElementById("jina-floater-box");this.searchIcon=document.getElementById("jina-floater-search-icon");this.jinaButton.addEventListener("click",this.toggleShow);["drag","dragenter","dragover","dragleave","dragexit","drop"].forEach(t=>{document.addEventListener(t,this.preventDefaults,!1)});["dragenter"].forEach(t=>{document.addEventListener(t,this.handleDrag,!1)});["dragleave","drop","dragexit"].forEach(t=>{document.addEventListener(t,this.handleDragLeave,!1)});this.dropArea.addEventListener("drop",this.handleDrop,!1);this.jinaButton.addEventListener("drop",this.handleDrop,!1);this.searchInput.addEventListener("drop",this.handleDrop,!1);this.searchInput=document.getElementById("jina-floater-search-box");this.searchInput.addEventListener("keydown",this.listenForEnter);this.searchInput.addEventListener("focus",this.highlightSearch);this.searchInput.addEventListener("blur",this.unhighlightSearch);if(this.settings.typewriterEffect){typeWriter("#jina-floater-search-box",JSON.parse(this.getAttribute("placeholders"))||defaultPlaceholders,0,0,this.settings.typewriterDelayCharacter,this.settings.typewriterDelayItem)}}}class SearchBar extends HTMLElement{constructor(){super();this.search=async(t=[this.searchInput.value],n=!1)=>{if(!n||t.length>1){this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right")}this.showLoading();let e,i=new Date;try{e=await window.JinaBox.search(t,10,n);this.dropped=!1}catch(t){this.dropped=!1;return this.showError(t)}let a=new Date,s=Math.round((a-i)/10)/100,M=[],r=[],o=0,g=!1,c=!1,{docs:j}=e.search;for(let t=0;t<j.length;++t){let n=j[t],{topkResults:e,uri:i,mimeType:a}=n;"text/plain"!==n.mimeType&&(g=!0);r.push({uri:i,mimeType:a});for(let i=0;i<e.length;++i){const a=e[i];M[t]||(M[t]=[]);"text/plain"===n.mimeType&&(c=!0);M[t].push({mimeType:a.matchDoc.mimeType,data:a.matchDoc.uri,text:a.matchDoc.text,score:a.score.value});o++}}for(let t=0;t<M.length;++t)M[t]=M[t].sort((t,n)=>n.score-t.score);this.queries=r;this.results=M;this.resultsMeta={totalTime:s,totalResults:o,resultsContainText:c,queriesContainMedia:g};this.showResults(0)};this.setResultsView=t=>{localStorage.setItem("jina-expander-results-view",t);this.resultsView=t;this.showResults()};this.listenForEnter=t=>{13==t.keyCode&&this.search()};this.preventDefaults=t=>{t.preventDefault();t.stopPropagation()};this.handleDrop=async t=>{this.dropped=!0;let n=t.dataTransfer,e=n.getData("URL");if(e)if(e.startsWith("data:")){this.search([e],!0);this.searchIcon.src=e;this.searchIcon.classList.add("jina-border-right")}else{let n;try{n=await getDataUri(e)}catch(t){n=e}this.searchIcon.src=n;this.searchIcon.classList.add("jina-border-right");this.search([e],!0)}else{let t=n.files,e=[];for(let n=0;n<t.length;++n){const i=t[n];let a=new FileReader;a.addEventListener("load",()=>{const n=a.result;e.push(n);if(e.length===t.length){this.search(e,!0);if(e.length<2){this.searchIcon.src=e[0];this.searchIcon.classList.add("jina-border-right")}}},!1);a.readAsDataURL(i)}}};this.handleDrag=()=>{this.dragCounter++;if(!this.highlighted){this.overlay.style.display="block";this.overlay.style.opacity="1";this.searchInput.classList.add("jina-highlighted");this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML='\n\t\t\t\t<div class="jina-dropdown-message jina-ready unselectable">\n \t\t\t<div class="jina-face"><div class="eye"></div><div class="eye right"></div><div class="mouth happy"></div></div>\n \t\t\t<div class="jina-shadow jina-scale"></div>\n\t\t\t\t\t<h4 class="alert">Drop here</h4>\n\t\t\t\t\t<p>Drop any content here from webpage/local to search</p>\n\t\t\t\t</div>\n\t\t\t\t';this.highlighted=!0}};this.handleDragLeave=()=>{this.dragCounter--;if(this.dragCounter<1){this.searchInput.classList.remove("jina-highlighted");if(!this.dropped){this.overlay.style.display="none";this.overlay.style.opacity="0";this.expander.style.height="0px";this.expander.style.opacity=0;this.clearExpander()}this.dragCounter=0}};this.showLoading=()=>{this.overlay.style.display="block";this.overlay.style.opacity="1";this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML='\n\t\t\t<div class="jina-sea">\n\t\t\t\t<p class="title">Searching</p>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t</div>\n\t\t'};this.showError=(t="could not reach server")=>{this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML=`\n\t\t\t<div class="jina-dropdown-message jina-error unselectable">\n \t\t<div class="jina-face jina-roll"><div class="eye"></div><div class="eye right"></div><div class="mouth sad"></div>\n \t</div>\n \t\t\t<div class="jina-shadow jina-move"></div>\n\t\t\t\t<h4 class="alert">Error!</h4>\n\t\t\t\t<p>${t}</p>\n\t\t\t\t<button id="jina-searchbar-error-ok">Ok</button>\n\t\t\t</div>\n\t\t`;this.errorButton=document.getElementById("jina-searchbar-error-ok");this.errorButton.onclick=this.clearExpander};this.showResults=(t=this.resultsIndex)=>{this.resultsIndex=t;let n,e="",i=this.results,a=this.queries,{totalResults:s,totalTime:M,resultsContainText:r,queriesContainMedia:o}=this.resultsMeta;if(a.length>1||o){n='\n\t\t\t\t<div class="jina-results-toolbar">\n\t\t\t\t\t<div class="jina-results-tabs">';if(o)for(let e=0;e<a.length;++e){let{uri:i}=a[e];n+=`\n\t\t\t\t\t\t<div class="jina-results-tab${t===e?" jina-active":""}" id="jina-results-tab-${e}">\n\t\t\t\t\t\t\t<div class="jina-results-tab-img" style="background:url(${i});background-size: cover;"></div>\n\t\t\t\t\t\t</div>`}n+=`\n\t\t\t\t\t</div>\n\t\t\t\t\t<img class="jina-results-action-button${"list"===this.resultsView?" jina-active":""}" src="${_icons.listView}" id="jina-toolbar-button-list" draggable="false">\n\t\t\t\t\t<img class="jina-results-action-button${"grid"===this.resultsView?" jina-active":""}" src="${_icons.gridView}" id="jina-toolbar-button-grid" draggable="false">\n\t\t\t\t</div>`}e+=`<p class="jina-results-label">${s} results in ${M} seconds</p>`;for(let a=0;a<i[t].length;++a){let s=i[t][a];"grid"===this.resultsView&&n?e+=`<div class="jina-grid-container"><div class="jina-result" id="jina-result-${a}">${s.mimeType.startsWith("text")?s.text:`<img src="${s.data}" class="jina-result-image"/>`}</div></div>`:e+=`<div class="jina-result${s.mimeType.startsWith("text")?" jina-text-result":""}" id="jina-result-${a}">${s.mimeType.startsWith("text")?s.text:`<img src="${s.data}" class="jina-result-image"/>`}</div>`}if(this.settings.showResults){this.overlay.style.display="block";this.overlay.style.opacity="1";this.expander.style.height="500px";this.expander.style.opacity=1;this.expander.innerHTML=`\n\t\t\t\t${n||'<div class="jina-expander-spacer"></div>'}\n\t\t\t\t<div class="jina-expander-results-area">\n\t\t\t\t\t${e}\n\t\t\t\t</div>\n\t\t\t\t`;if(n){for(let t=0;t<a.length;++t)document.getElementById("jina-results-tab-"+t).addEventListener("click",()=>this.showResults(t));document.getElementById("jina-toolbar-button-list").addEventListener("click",()=>this.setResultsView("list"));document.getElementById("jina-toolbar-button-grid").addEventListener("click",()=>this.setResultsView("grid"))}}else{this.resultsArea=document.getElementById("jina-results-area");this.resultsArea.innerHTML=html;this.clearExpander()}i[t].map((t,n)=>{document.getElementById("jina-result-"+n).addEventListener("click",()=>{if(t.mimeType.startsWith("text")){this.searchInput.value=t.text;this.search()}else{this.search([t.data],!0);this.searchIcon.src=t.data;this.searchIcon.classList.add("jina-border-right")}})})};this.clearExpander=async()=>{this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right");this.searchInput.value="";this.overlay.style.display="none";this.overlay.style.opacity="0";this.dragCounter=0;this.searchInput.classList.remove("jina-highlighted");this.expander.style.height="0px";this.expander.style.opacity=0;this.expander.style.transition=".2s";await(t=.2,new Promise((n,e)=>{setTimeout(()=>n(),1e3*t)}));var t;this.expander.innerHTML="";this.highlighted=!1};this.settings={};let t=Object.keys(defaultSettings);for(let n=0;n<t.length;++n){const e=t[n];this.settings[e]=this.getAttribute(e)||defaultSettings[e]}this.originalSearchIcon=_icons[this.settings.searchIcon]||this.settings.searchIcon;this.innerHTML=`\n\t\t<div class="jina-expander-overlay" id="jina-expander-overlay"></div>\n\t\t<div class="jina-searchbar-container jina-theme-${this.settings.theme}">\n\t\t\t<div class="jina-expander" id="jina-search-expander"></div>\n\t\t\t<div id="jina-searchbar-background-container" class="jina-bg-default">\n\t\t\t\t<div class="jina-search-container">\n\t\t\t\t\t<img src="${this.originalSearchIcon}" class="jina-search-icon" id="jina-search-icon" />\n\t\t\t\t\t<input placeholder="type or drop to search" class="jina-search-input jina-contained" id="jina-search-input" autocomplete="off">\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t`;this.overlay=document.getElementById("jina-expander-overlay");this.expander=document.getElementById("jina-search-expander");this.searchInput=document.getElementById("jina-search-input");this.searchIcon=document.getElementById("jina-search-icon");this.dragCounter=0;["drag","dragenter","dragover","dragleave","dragexit","drop"].forEach(t=>{document.addEventListener(t,this.preventDefaults)});["dragenter"].forEach(t=>{document.addEventListener(t,this.handleDrag)});["dragleave","drop","dragexit"].forEach(t=>{document.addEventListener(t,this.handleDragLeave)});this.overlay.addEventListener("click",this.clearExpander);this.searchInput.addEventListener("drop",this.handleDrop);this.expander.addEventListener("drop",this.handleDrop);this.searchInput.addEventListener("keydown",this.listenForEnter);this.resultsView=localStorage.getItem("jina-expander-results-view")||"list";if(this.settings.typewriterEffect){typeWriter("#jina-search-input",JSON.parse(this.getAttribute("placeholders"))||defaultPlaceholders)}}}class Results extends HTMLElement{constructor(){super();this.handleDrag=()=>{};this.handleDragLeave=()=>{};this.innerHTML='\n\t\t<div class="jina-results-area" id="jina-results-area"></div>\n\t\t';this.dropArea=document.getElementById("jina-search-input");this.dropArea.addEventListener("dragenter",this.handleDrag);this.dropArea.addEventListener("drop",this.handleDrop);this.dropArea.addEventListener("dragleave",this.handleDragLeave)}}window.customElements.define("jina-floater",Floater);window.customElements.define("jina-searchbar",SearchBar);window.customElements.define("jina-results",Results);window.JinaSettings={timeout:5e3,url:!1};window.JinaBox={init:function(t,n){window.JinaSettings={...window.JinaSettings,...n,url:t}},search:async function(t,n=10){return new Promise((function(e,i){const{url:a,timeout:s}=window.JinaSettings;var M=new XMLHttpRequest;M.open("POST",a);M.setRequestHeader("Content-Type","application/json");M.onload=()=>e(JSON.parse(M.responseText));M.onerror=function(t){i("request failed at "+a)};M.timeout=s;M.ontimeout=()=>i("Search Timeout");M.send(JSON.stringify({data:t,top_k:n,mode:"search"}))}))},updateSettings:function(t){window.JinaSettings={...window.JinaSettings,...t}}};function getDataUri(t){return new Promise((function(n,e){var i=new XMLHttpRequest;i.responseType="arraybuffer";i.open("GET",""+t);i.onload=function(){var t,e,a,s;a=new Uint8Array(i.response);e=[].map.call(a,(function(t){return String.fromCharCode(t)})).join("");t=["data:",(s=i.getResponseHeader("content-type"))?s+";":"","base64,",btoa(e)].join("");n(t)};i.onerror=function(t){e(t)};i.send()}))}function typeWriter(t,n,e=0,i=0,a=100,s=1e3){e||(document.querySelector(t).placeholder="");txt=n[i];if(e<txt.length){document.querySelector(t).placeholder+=txt.charAt(e);e++;setTimeout(typeWriter,a,t,n,e,i,a,s)}else if(void 0===n[++i])setTimeout(typeWriter,s,t,n,0,0,a,s);else{e=0;setTimeout(typeWriter,s,t,n,e,i,a,s)}} | ||
let _icons={color:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDEwcHgiIGhlaWdodD0iNDEwcHgiIHZpZXdCb3g9IjAgMCA0MTAgNDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2NCAoOTM1MzcpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPlByb2R1Y3QgbG9nb19Db3JlX0NvbG9yZnVsPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iUHJvZHVjdC1sb2dvX0NvcmVfQ29sb3JmdWwiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNDcuODE2MjczLDE1My4yMTczNjggTDI0OS43MzA4MzIsMTUzLjI0MDUzMSBDMjg4LjIwODk3NCwxNTQuNjgzMDI3IDMwOS44NjQ2OSwxNzAuMzE1MTY2IDMyNy4xMDg5ODUsMTkzLjE1Nzg2MyBDMzE5LjIxNDY0MywyNzIuMzU1NTEyIDI1MC4wNjA3MTEsMzMwLjIwNTg3NSAxNzEuNTI0MjQzLDMyNi45OTY0NTIgQzEzMS41NjU5NzcsMzI0LjU5NjA3NCA5Ni42NjE3MDc5LDMwNi42MjYyNDMgNzEuNzI4NjYwMywyNzkuNTI0OTA0IEMxMTQuMzYxOTczLDIyMC43NDU5NzUgMTgzLjM2OTk5NCwxNTQuNDg2NTY3IDI0NS45MTAyLDE1My4yMzUyOTcgTDI0Ny44MTYyNzMsMTUzLjIxNzM2OCBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZDQzY2Ij48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zOC42MTYzNTQ5LDIyMi4wNjY3MTkgTDM4LjY0NTc3OTQsMjIyLjAyNTkxMSBDNTMuNTM5MzMwNiwyMDAuMDk3NjYyIDc3LjM5NzEwMiwxNzguMzEwNzk4IDEwOS4zNTcxNzUsMTg3LjA3OTMzOSBDMTcwLjEzNDY3OCwyMDQuOTc0MzIxIDIyNy4xODU1MTcsMjQxLjYzMjY1IDI2MS45Njk5NDQsMjQwLjU5NzMzNyBDMjk1LjA3NDUxOSwyMzkuNjEyMDI0IDMwOC40NDI4MzEsMjI5Ljc2ODUyNCAzMjIuOTQ3NzU1LDIxNi4yNjU1MTkgQzMwNS4yNzE4OTgsMjgzLjMyODM3MiAyNDIuMTk2OTA1LDMyOS44ODQ1MTggMTcxLjUyNDI0MywzMjYuOTk2NDUyIEMxMDcuNTE0ODg4LDMyMy4xNTEyNzQgNTYuNDc0NTk3NCwyNzkuMzUzMzE3IDM4LjYxNjM1NDksMjIyLjA2NjcxOSBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkY3NjczIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDQuMTIxOTYsMjAwLjcwMDUzMyBMMTQ1LjM5NDI1OCwxOTkuNjI5NTA3IEwxNDguMDE3NTk3LDIwMC42Mjk1MzIgQzE5MC42ODcwNTMsMjE2Ljk5MTg4OSAyMjQuNjI0ODg1LDIzNC42NTgzNDggMjUxLjM5MjkzNywyMzkuMjE4NTM1IEMyODQuODcxNTU1LDI0NC45MjE5MyAzMDYuOTExMzA5LDIyOS4wODI2NDkgMzIzLjA5MDg3NiwyMTUuNzI3ODAyIEMzMDUuNjEwNzkxLDI4My4wNzc4MzUgMjQyLjM4Njc5MywzMjkuODkyMjc4IDE3MS41MjQyNDMsMzI2Ljk5NjQ1MiBDMTMyLjI5MjA2LDMyNC42Mzk2OTEgOTcuOTMxODcwNiwzMDcuMjc0MTYzIDczLjA5NzY4NjMsMjgwLjk5MzE5OCBDOTEuODQzMzY1MSwyNTIuODc3MjA0IDExNi43MjExNDQsMjIzLjkyMTM2OSAxNDQuMTIxOTYsMjAwLjcwMDUzMyBaIiBpZD0i6Lev5b6EIiBmaWxsPSIjRkY5RjczIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMzkuODExMzg4LDMwMy41MjA0NjEgTDM5OS42MTMyOTksMzU3LjI2ODUzOCBDNDEyLjAwNDI4NSwzNjguNDA1MjQgNDEzLjAwNzA4OCwzODcuNDM2NCA0MDEuODU0NjU4LDM5OS44MDQ5NjcgQzM5MC44NDA4MDUsNDEyLjAxOTg0NiAzNzIuMDUzODAyLDQxMy4xMzY5MzcgMzU5LjY2NTE1Miw0MDIuNDAxMzA2IEwzNTkuMjQ5MTk3LDQwMi4wMzQyMTcgTDI5Ni4wOTAyNzQsMzQ1LjI2ODM1NSBDMzEyLjY3NTc1MSwzMzMuNjA4MDA1IDMyNy40MjI1NzcsMzE5LjUxOTIxOCAzMzkuODExMzg4LDMwMy41MjA0NjEgWiBNMC41NTAwMzIxOTIsMTY4LjQ4MjU2OCBDNS45MTU2MzY4OCw3MC4wNjA2NjE5IDkxLjc2NTMxMTksLTUuMDk3ODg0NzQgMTkwLjEzNDczMSwwLjI3MDU4Mjg4MSBDMjg4LjUwNDE1LDcuNDI4NTM5ODQgMzY1LjQxMTE1MSw5MS41MzQ1MzI4IDM1OC4yNTcwMTEsMTg5Ljk1NjQzOSBDMzUxLjEwMjg3MiwyODguMzc4MzQ1IDI2Ny4wNDE3MzIsMzYzLjUzNjg5MSAxNjguNjcyMzEzLDM1OC4xNjg0MjQgQzcwLjMwMjg5MzEsMzUyLjc5OTk1NiAtNC44MTU1NzI1LDI2Ni45MDQ0NzUgMC41NTAwMzIxOTIsMTY4LjQ4MjU2OCBaIE0xODcuOTUyMTI3LDMwLjkzOTA5ODEgQzEwNy40NTU0OTcsMjcuNjQ5NTcxNyAzNS4xNzI4MDk1LDkwLjE1MDU2ODUgMzEuODg3MjMyNSwxNzAuNzQzOTU5IEMyOC42MDE2NTU1LDI1MS4zMzczNSA4OS4zODQ4MjUxLDMyMi4wNjIxNjMgMTcxLjUyNDI0MywzMjYuOTk2NDUyIEMyNTIuMDIwODczLDMzMC4yODU5NzggMzIyLjY2MDc3MywyNjkuNDI5NzQ0IDMyNy41ODkxMzgsMTg3LjE5MTU5IEMzMzAuODQxODU5LDEwNy40MDQxMzQgMjcxLjMwMDgwMSwzNy4yODg4NzA1IDE5MC40MDk4NiwzMS4xMDY4MDggTDE4Ny45NTIxMjcsMzAuOTM5MDk4MSBaIiBpZD0i5b2i54q2IiBmaWxsPSIjMDA5OTk5Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",mono:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODJweCIgaGVpZ2h0PSI4MnB4IiB2aWV3Qm94PSIwIDAgODIgODIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDY0ICg5MzUzNykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+UHJvZHVjdCBsb2dvL0NvcmUvbGlnaHQvUHJvZHVjdCBsb2dvX0NvcmVfbGlnaHQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0i6aG16Z2iLTIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJQcm9kdWN0LWxvZ28vQ29yZS9saWdodC9Qcm9kdWN0LWxvZ29fQ29yZV9saWdodCIgZmlsbD0iIzAwOTk5OSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHBhdGggZD0iTTQ5LjcwMjM4OTQsMzAuNTM0Mzc1NyBDMzYuOTc5Mjk1OCwzMC4yNDIwMTQ0IDIyLjc2MjgzNzUsNDMuODQ0MDgyNSAxNC4wODgwMDA5LDU1LjgzMDg5NDIgQzE5LjAwMzc0MTYsNjAuODAxMDM1NiAyNy4yNjU4Mjk3LDY1LjE5OTI3NTEgMzQuNzg0MDIxNCw2NS40OTE2MzY0IEM1MC4zOTg3MjcyLDY2LjM2ODcyMDIgNjMuODcxMjg5MSw1NC4yMTU2Mzc5IDY1LjMxNzA5NTIsMzguNzIwNDkxIEM2MS44NDcxNjA2LDM0LjA0MjcxMDggNTcuNTA5NzQyMywzMC44MjY3MzcgNDkuNzAyMzg5NCwzMC41MzQzNzU3IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC43OTU3ODIzNDMiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTY0LjgwOTUyNDgsNDIuNzU3MTY3MiBDNjEuNzMzNjIwMSw0NS42NjYxMDA5IDU5LjE0MTM0MTUsNDcuODI2MjM1MiA1Mi4yMDIxMDQ5LDQ4LjAzMzAxNzUgQzQ1LjI2Mjg2ODIsNDguMjM5Nzk5OSAzMy44ODE2NDY2LDQwLjkxODA1MzEgMjEuNzU2OTgyOSwzNy4zNDM4OTg5IEMxNS4yNTEwNjU4LDM1LjU1NjgyMTggMTAuNDI4MTQ0Niw0MC4xMjQxOTQxIDcuNDcwOTA5NTgsNDQuNTkxODg2OSBDMTEuMDE5NTkxNiw1Ni4yMDc4ODgxIDIxLjM2OTkxNDMsNjQuODQ1NDI3NSAzNC4wODYwMjUsNjUuNDQxMTE5OSBDNDguNTc2NDc2Nyw2Ni42MzI1MDQ3IDYxLjg1MjI4OTcsNTYuNzU1OTM4IDY0LjgwOTUyNDgsNDIuNzU3MTY3MiBaIiBpZD0i6Lev5b6EIiBmaWxsLW9wYWNpdHk9IjAuNzk1NzgyMzQzIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik02Ny43MzQ3ODc3LDYwLjMwNjg1NTUgTDc5LjY1NDg3MDMsNzAuOTk3MDA0NiBDODIuMTI0NjcyOCw3My4yMTIwODA5IDgyLjMyNDU1NDEsNzYuOTk3MzU1IDgwLjEwMTYyMzcsNzkuNDU3NDQ3NiBDNzcuOTA2MzE0Nyw4MS44ODY5NzE4IDc0LjE2MTY0MTksODIuMTA5MTU5OSA3MS42OTIzMDQ4LDc5Ljk3Mzg1NjEgTDcxLjYwOTM5NTYsNzkuOTAwODQyNiBMNTkuMDIwODA0LDY4LjYwOTg5OTUgQzYyLjMyNjQwMjcsNjYuMjkwNzkyOCA2NS4yNjU1NjM2LDYzLjQ4ODc0NDUgNjcuNzM0Nzg3Nyw2MC4zMDY4NTU1IFoiIGlkPSLlvaLnirbnu5PlkIgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM3LjQzOTk4NzQsNi4xNzc5NzkxNCBDNTMuODI2NTAyNCw3LjE2MjM1MTg5IDY1Ljk1MjUyMzUsMjEuMjcxNjk0NiA2NS4yOTcwNjMsMzcuMzQ5NzgyNyBDNjQuMzEzODcyMSw1My43NTU5OTUxIDUwLjIyMTQ2OTEsNjUuODk2NTkyMyAzNC4xNjI2ODQ0LDY1LjI0MDM0MzkgQzE3Ljc3NjE2OTQsNjQuMjU1OTcxMSA1LjY1MDE0ODI5LDUwLjE0NjYyODQgNi4zMDU2MDg5NCwzNC4wNjg1NDAyIEM2Ljk2MTA2OTU5LDE3Ljk5MDQ1MiAyMS4zODEyMDI4LDUuNTIxNzMwNiAzNy40Mzk5ODc0LDYuMTc3OTc5MTQgTTM3Ljg3NTQwOTEsMC4wNTk3MjE5NTc1IEMxOC4yNTEwNjc5LC0xLjAxMTI2NzggMS4xMjQzNzAxMiwxMy45ODI1ODg3IDAuMDUzOTUxNTEzMSwzMy42MTc0MDA5IEMtMS4wMTY0NjcxLDUzLjI1MjIxMzEgMTMuOTY5MzkzNCw3MC4zODgwNDkgMzMuNTkzNzM0Niw3MS40NTkwMzg4IEM1My4yMTgwNzU4LDcyLjUzMDAyODUgNjkuOTg3OTY3Myw1Ny41MzYxNzIgNzEuNDE1MTkyMSwzNy45MDEzNTk5IEM3Mi44NDI0MTY5LDE4LjI2NjU0NzggNTcuNDk5NzUwMiwxLjQ4NzcwODMyIDM3Ljg3NTQwOTEsMC4wNTk3MjE5NTc1IFoiIGlkPSLlvaLnirYiPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",inverse:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDIwcHgiIGhlaWdodD0iNDIwcHgiIHZpZXdCb3g9IjAgMCA0MjAgNDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA2NCAoOTM1MzcpIC0gaHR0cHM6Ly9za2V0Y2guY29tIC0tPgogICAgPHRpdGxlPlByb2R1Y3QgbG9nb19Db3JlX0Rhcms8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0i6aG16Z2iLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJQcm9kdWN0LWxvZ29fQ29yZV9EYXJrIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNMjUzLjg2MDU3MywxNTYuOTU0Mzc3IEwyNTUuODIxODI4LDE1Ni45NzgxMDUgQzI5NS4yMzg0NjEsMTU4LjQ1NTc4MyAzMTcuNDIyMzY1LDE3NC40NjkxOTQgMzM1LjA4NzI1MywxOTcuODY5MDMxIEMzMjcuMDAwMzY2LDI3OC45OTgzMjkgMjU2LjE1OTc1MiwzMzguMjU5Njc3IDE3NS43MDc3NjEsMzM0Ljk3MTk3NSBDMTM0Ljc3NDkwMywzMzIuNTEzMDUyIDk5LjAxOTMxMDYsMzE0LjEwNDkzMiA3My40NzgxMzk4LDI4Ni4zNDI1ODQgQzExNy4xNTEyOSwyMjYuMTMwMDIzIDE4Ny44NDI0MzMsMTU4LjI1NDUzMiAyNTEuOTA4MDEsMTU2Ljk3Mjc0MyBMMjUzLjg2MDU3MywxNTYuOTU0Mzc3IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC44MDI5MzkyNDgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM5LjU1ODIxNzIsMjI3LjQ4Mjk4IEwzOS41ODgzNTkzLDIyNy40NDExNzcgQzU0Ljg0NTE2OCwyMDQuOTc4MDkzIDc5LjI4NDgzNjEsMTgyLjY1OTg0MiAxMTIuMDI0NDIzLDE5MS42NDIyNSBDMTc0LjI4NDMwNCwyMDkuOTczNjk0IDIzMi43MjY2MjcsMjQ3LjUyNjEyOSAyNjguMzU5NDU0LDI0Ni40NjU1NjUgQzMwMi4yNzE0NTgsMjQ1LjQ1NjIxOSAzMTUuOTY1ODI2LDIzNS4zNzI2MzQgMzMwLjgyNDUyOSwyMjEuNTQwMjg4IEMzMTIuNzE3NTU0LDI5MC4yMzg4MiAyNDguMTA0MTQ3LDMzNy45MzA0ODIgMTc1LjcwNzc2MSwzMzQuOTcxOTc1IEMxMTAuMTM3MjAzLDMzMS4wMzMwMTMgNTcuODUyMDI2NiwyODYuMTY2ODEzIDM5LjU1ODIxNzIsMjI3LjQ4Mjk4IFoiIGlkPSLot6/lvoQiIGZpbGwtb3BhY2l0eT0iMC44MDI5MzkyNDgiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTM0OC4wOTk0NzEsMzEwLjkyMzM5OSBMNDA5LjM1OTk2NSwzNjUuOTgyNDA1IEM0MjIuMDUzMTcsMzc3LjM5MDczNCA0MjMuMDgwNDMyLDM5Ni44ODYwNjkgNDExLjY1NTk5MSw0MDkuNTU2MzA4IEM0MDAuMzczNTA4LDQyMi4wNjkxMSAzODEuMTI4Mjg1LDQyMy4yMTM0NDggMzY4LjQzNzQ3Myw0MTIuMjE1OTcyIEwzNjguMDExMzcyLDQxMS44Mzk5MjkgTDMwMy4zMTE5ODgsMzUzLjY4OTUzNSBDMzIwLjMwMTk4OSwzNDEuNzQ0Nzg2IDMzNS40MDg0OTMsMzI3LjMxMjM3IDM0OC4wOTk0NzEsMzEwLjkyMzM5OSBaIE0wLjU2MzQ0NzYxMSwxNzIuNTkxODk5IEM2LjA1OTkyMDcxLDcxLjc2OTQ1ODUgOTQuMDAzNDkwMiwtNS4yMjIyMjMzOSAxOTQuNzcyMTY0LDAuMjc3MTgyNDYzIEMyOTUuNTQwODM3LDcuNjA5NzIzNzQgMzc0LjMyMzYxOCw5My43NjcwODI0IDM2Ni45OTQ5ODcsMTk0LjU4OTUyMyBDMzU5LjY2NjM1NywyOTUuNDExOTYzIDI3My41NTQ5NDUsMzcyLjQwMzY0NSAxNzIuNzg2MjcxLDM2Ni45MDQyMzkgQzcyLjAxNzU5NzgsMzYxLjQwNDgzMyAtNC45MzMwMjU0OCwyNzMuNDE0MzQgMC41NjM0NDc2MTEsMTcyLjU5MTg5OSBaIE0xOTIuNTM2MzI1LDMxLjY5MzcxMDMgQzExMC4wNzYzNjMsMjguMzIzOTUxNSAzNi4wMzA2ODI5LDkyLjM0OTM2MjkgMzIuNjY0OTY5OSwxNzQuOTA4NDQ2IEMyOS4yOTkyNTY5LDI1Ny40Njc1MyA5MS41NjQ5NDI4LDMyOS45MTczMzcgMTc1LjcwNzc2MSwzMzQuOTcxOTc1IEMyNTguMTY3NzI0LDMzOC4zNDE3MzQgMzMwLjUzMDU0OCwyNzYuMDAxMjAxIDMzNS41NzkxMTcsMTkxLjc1NzIzOSBDMzM4LjkxMTE3MiwxMTAuMDIzNzQ3IDI3Ny45MTc4OTQsMzguMTk4MzU1MSAxOTUuMDU0MDAzLDMxLjg2NTUxMDcgTDE5Mi41MzYzMjUsMzEuNjkzNzEwMyBaIiBpZD0i5b2i54q2Ij48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",closeLight:"data:image/svg+xml;utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ5Ni4wOTYgNDk2LjA5NjsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI0OTYuMDk2IiBoZWlnaHQ9IjQ5Ni4wOTYiPjxyZWN0IGlkPSJiYWNrZ3JvdW5kcmVjdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgeD0iMCIgeT0iMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIi8+CgoKCgoKCgoKCgoKCgoKCgo8ZyBjbGFzcz0iY3VycmVudExheWVyIiBzdHlsZT0iIj48dGl0bGU+TGF5ZXIgMTwvdGl0bGU+PGcgaWQ9InN2Z18xIiBjbGFzcz0ic2VsZWN0ZWQiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSI+Cgk8ZyBpZD0ic3ZnXzIiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSI+CgkJPHBhdGggZD0iTTI1OS40MSwyNDcuOTk4TDQ5My43NTQsMTMuNjU0YzMuMTIzLTMuMTI0LDMuMTIzLTguMTg4LDAtMTEuMzEyYy0zLjEyNC0zLjEyMy04LjE4OC0zLjEyMy0xMS4zMTIsMEwyNDguMDk4LDIzNi42ODYgICAgTDEzLjc1NCwyLjM0MkMxMC41NzYtMC43MjcsNS41MTItMC42MzksMi40NDIsMi41MzljLTIuOTk0LDMuMS0yLjk5NCw4LjAxNSwwLDExLjExNWwyMzQuMzQ0LDIzNC4zNDRMMi40NDIsNDgyLjM0MiAgICBjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NmMwLjA2Ny0wLjA2NCwwLjEzMi0wLjEzLDAuMTk2LTAuMTk2TDI0OC4wOTgsMjU5LjMxICAgIGwyMzQuMzQ0LDIzNC4zNDRjMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZjMi45OTUtMy4xLDIuOTk1LTguMDE2LDAtMTEuMTE2TDI1OS40MSwyNDcuOTk4eiIgZmlsbD0iI2ZmZmZmZiIgaWQ9InN2Z18zIiBmaWxsLW9wYWNpdHk9IjEiLz4KCTwvZz4KPC9nPjxnIGlkPSJzdmdfNCI+CjwvZz48ZyBpZD0ic3ZnXzUiPgo8L2c+PGcgaWQ9InN2Z182Ij4KPC9nPjxnIGlkPSJzdmdfNyI+CjwvZz48ZyBpZD0ic3ZnXzgiPgo8L2c+PGcgaWQ9InN2Z185Ij4KPC9nPjxnIGlkPSJzdmdfMTAiPgo8L2c+PGcgaWQ9InN2Z18xMSI+CjwvZz48ZyBpZD0ic3ZnXzEyIj4KPC9nPjxnIGlkPSJzdmdfMTMiPgo8L2c+PGcgaWQ9InN2Z18xNCI+CjwvZz48ZyBpZD0ic3ZnXzE1Ij4KPC9nPjxnIGlkPSJzdmdfMTYiPgo8L2c+PGcgaWQ9InN2Z18xNyI+CjwvZz48ZyBpZD0ic3ZnXzE4Ij4KPC9nPjwvZz48L3N2Zz4=",closeDark:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ5Ni4wOTYgNDk2LjA5NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDk2LjA5NiA0OTYuMDk2OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjU5LjQxLDI0Ny45OThMNDkzLjc1NCwxMy42NTRjMy4xMjMtMy4xMjQsMy4xMjMtOC4xODgsMC0xMS4zMTJjLTMuMTI0LTMuMTIzLTguMTg4LTMuMTIzLTExLjMxMiwwTDI0OC4wOTgsMjM2LjY4NiAgICBMMTMuNzU0LDIuMzQyQzEwLjU3Ni0wLjcyNyw1LjUxMi0wLjYzOSwyLjQ0MiwyLjUzOWMtMi45OTQsMy4xLTIuOTk0LDguMDE1LDAsMTEuMTE1bDIzNC4zNDQsMjM0LjM0NEwyLjQ0Miw0ODIuMzQyICAgIGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2YzAuMDY3LTAuMDY0LDAuMTMyLTAuMTMsMC4xOTYtMC4xOTZMMjQ4LjA5OCwyNTkuMzEgICAgbDIzNC4zNDQsMjM0LjM0NGMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NmMyLjk5NS0zLjEsMi45OTUtOC4wMTYsMC0xMS4xMTZMMjU5LjQxLDI0Ny45OTh6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==",gridView:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDM1OSAzNTkiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM1OSAzNTk7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik05NiwwSDEzQzcuNSwwLDMsNC41LDMsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMFYxMEMxMDYsNC41LDEwMS41LDAsOTYsMHogTTg3LDg0SDIzVjIwaDY0Vjg0eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTIyMSwwaC04M2MtNS41LDAtMTAsNC41LTEwLDEwdjgzYzAsNS41LDQuNSwxMCwxMCwxMGg4M2M1LjUsMCwxMC00LjUsMTAtMTBWMTBDMjMxLDQuNSwyMjYuNSwwLDIyMSwweiBNMjEyLDg0aC02NFYyMCAgICBoNjRWODR6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTYsMTI2SDEzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMTA2LDEzMC41LDEwMS41LDEyNiw5NiwxMjZ6IE04NywyMDlIMjMgICAgdi02M2g2NFYyMDl6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjIxLDEyNmgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwdi04M0MyMzEsMTMwLjUsMjI2LjUsMTI2LDIyMSwxMjZ6ICAgICBNMjEyLDIwOWgtNjR2LTYzaDY0VjIwOXoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zNDYsMGgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwVjEwQzM1Niw0LjUsMzUxLjUsMCwzNDYsMHogTTMzNyw4NGgtNjRWMjAgICAgaDY0Vjg0eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTM0NiwxMjZoLTgzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMzU2LDEzMC41LDM1MS41LDEyNiwzNDYsMTI2eiAgICAgTTMzNywyMDloLTY0di02M2g2NFYyMDl6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNOTYsMjU2SDEzYy01LjUsMC0xMCw0LjUtMTAsMTB2ODNjMCw1LjUsNC41LDEwLDEwLDEwaDgzYzUuNSwwLDEwLTQuNSwxMC0xMHYtODNDMTA2LDI2MC41LDEwMS41LDI1Niw5NiwyNTZ6IE04NywzNDBIMjMgICAgdi02NGg2NFYzNDB6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMjIxLDI1NmgtODNjLTUuNSwwLTEwLDQuNS0xMCwxMHY4M2MwLDUuNSw0LjUsMTAsMTAsMTBoODNjNS41LDAsMTAtNC41LDEwLTEwdi04M0MyMzEsMjYwLjUsMjI2LjUsMjU2LDIyMSwyNTZ6ICAgICBNMjEyLDM0MGgtNjR2LTY0aDY0VjM0MHoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zNDYsMjU2aC04M2MtNS41LDAtMTAsNC41LTEwLDEwdjgzYzAsNS41LDQuNSwxMCwxMCwxMGg4M2M1LjUsMCwxMC00LjUsMTAtMTB2LTgzQzM1NiwyNjAuNSwzNTEuNSwyNTYsMzQ2LDI1NnogICAgIE0zMzcsMzQwaC02NHYtNjRoNjRWMzQweiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=",listView:"data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDM0My41IDM0My41IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzNDMuNSAzNDMuNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMyMi4wNSwxNjEuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwQzMzMi4wNSwxNjYuMywzMjcuNjUsMTYxLjgsMzIyLjA1LDE2MS44ICAgIHoiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik01Ny45NSwxMjUuM2MtMjUuNywwLTQ2LjUsMjAuOC00Ni41LDQ2LjVzMjAuOCw0Ni41LDQ2LjUsNDYuNXM0Ni41LTIwLjgsNDYuNS00Ni41UzgzLjY1LDEyNS4zLDU3Ljk1LDEyNS4zeiAgICAgTTU3Ljk1LDE5OC4zYy0xNC43LDAtMjYuNS0xMS45LTI2LjUtMjYuNWMwLTE0LjcsMTEuOS0yNi41LDI2LjUtMjYuNWMxNC42LDAsMjYuNSwxMS45LDI2LjUsMjYuNVM3Mi41NSwxOTguMyw1Ny45NSwxOTguM3oiIGZpbGw9IiMwMDAwMDAiLz4KCTwvZz4KPC9nPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zMjIuMDUsMzYuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwQzMzMi4wNSw0MS4zLDMyNy42NSwzNi44LDMyMi4wNSwzNi44eiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTU3Ljk1LDBjLTI1LjcsMC00Ni41LDIwLjgtNDYuNSw0Ni41YzAsMjUuNywyMC44LDQ2LjUsNDYuNSw0Ni41czQ2LjUtMjAuOCw0Ni41LTQ2LjVDMTA0LjQ1LDIwLjksODMuNjUsMC4xLDU3Ljk1LDB6ICAgICBNNTcuOTUsNzMuMWMtMTQuNywwLTI2LjUtMTEuOS0yNi41LTI2LjVjMC0xNC42LDExLjktMjYuNSwyNi41LTI2LjVjMTQuNywwLDI2LjUsMTEuOSwyNi41LDI2LjUgICAgQzg0LjQ1LDYxLjIsNzIuNTUsNzMuMSw1Ny45NSw3My4xeiIgZmlsbD0iIzAwMDAwMCIvPgoJPC9nPgo8L2c+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMyMi4wNSwyODYuOGgtMTgyLjZjLTUuNSwwLTEwLDQuNS0xMCwxMHM0LjUsMTAsMTAsMTBoMTgyLjZjNS41LDAsMTAtNC41LDEwLTEwUzMyNy42NSwyODYuOCwzMjIuMDUsMjg2Ljh6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTcuOTUsMjUwLjVjLTI1LjcsMC00Ni41LDIwLjgtNDYuNSw0Ni41YzAsMjUuNywyMC44LDQ2LjUsNDYuNSw0Ni41czQ2LjUtMjAuOCw0Ni41LTQ2LjUgICAgQzEwNC40NSwyNzEuNCw4My42NSwyNTAuNSw1Ny45NSwyNTAuNXogTTU3Ljk1LDMyMy42Yy0xNC43LDAtMjYuNS0xMS45LTI2LjUtMjYuNWMwLTE0LjcsMTEuOS0yNi41LDI2LjUtMjYuNSAgICBjMTQuNywwLDI2LjUsMTEuOSwyNi41LDI2LjVTNzIuNTUsMzIzLjYsNTcuOTUsMzIzLjZ6IiBmaWxsPSIjMDAwMDAwIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="},stylesElement=document.createElement("style");stylesElement.innerHTML="\n@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;700&display=swap');\n@keyframes jina-bg-rotate {\n\t100% {\n\t\ttransform: rotate(1turn);\n\t}\n}\n.jina-bg-default {\n position: relative;\n border-radius: 100px;\n border-color: #dbdbdb;\n overflow: hidden;\n border-style: solid;\n border-width: 1px;\n}\n.jina-theme-persian .jina-bg-default{\n\tborder-color: #009999;\n}\n.jina-theme-pompelmo .jina-bg-default{\n\tborder-color: #FF6666;\n}\n.jina-theme-honeybee .jina-bg-default{\n\tborder-color: #FFCC66;\n}\n.jina-bg-rainbow {\n position: relative;\n z-index: 0;\n border-radius: 50px;\n overflow-y: hidden;\n padding: 1px;\n}\n.jina-bg-rainbow:before {\n content: '';\n position: absolute;\n z-index: -2;\n left: -50%;\n top: -450%;\n width: 200%;\n height: 1000%;\n background-color: #399953;\n background-repeat: no-repeat;\n background-size: 50% 50%, 50% 50%;\n background-position: 0 0, 100% 0, 100% 100%, 0 100%;\n background-image: linear-gradient(#399953, #399953), linear-gradient(#fbb300, #fbb300), linear-gradient(#d53e33, #d53e33), linear-gradient(#377af5, #377af5);\n animation: jina-bg-rotate 4s linear infinite;\n}\n.jina-bg-rainbow:after {\n content: '';\n position: absolute;\n z-index: -1;\n left: 1px;\n top: 1px;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n background: white;\n border-radius: 50px;\n}\n.jina-search-input::placeholder {\n opacity: .5;\n font-weight: 700;\n font-size: .75em;\n line-height:1.5;\n}\n\n.jina-sea {\n width: 300px;\n height: 300px;\n background-color: whitesmoke;\n background-image: linear-gradient(#8e9eab, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n position: relative;\n}\n.jina-theme-persian .jina-sea{\n\tbackgrond-image: linear-gradient(#009999, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n.jina-theme-pompelmo .jina-sea{\n\tbackground-image: linear-gradient(#ff6666, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n.jina-theme-honeybee .jina-sea{\n\tbackground-image: linear-gradient(#ffcc66, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5));\n}\n\n.jina-sea .title {\n color: white;\n font-size: 24px;\n font-family: Comfortaa;\n text-align: center;\n line-height: 250px;\n position: absolute;\n z-index: 1;\n width: 100%;\n}\n.jina-sea .jina-wave {\n position: absolute;\n top: -250px;\n left: -100px;\n width: 500px;\n height: 500px;\n background: #8e9eab;\n border-radius: 35%;\n filter: opacity(0.4);\n animation: jina-drift linear infinite;\n transform-origin: 50% 48%;\n}\n.jina-theme-persian .jina-sea .jina-wave{\n\tbackground: #009999;\n}\n.jina-theme-pompelmo .jina-sea .jina-wave{\n\tbackground: #ff6666;\n}\n.jina-theme-honeybee .jina-sea .jina-wave{\n\tbackground: #ffcc66;\n}\n\n.jina-sea .jina-wave:nth-of-type(1) {\n animation-duration: 5s;\n}\n.jina-sea .jina-wave:nth-of-type(2) {\n animation-duration: 7s;\n}\n.jina-sea .jina-wave:nth-of-type(3) {\n animation-duration: 9s;\n background-color: #009999;\n filter: opacity(0.1);\n}\n.jina-theme-persian .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #009999 !important;\n}\n.jina-theme-pompelmo .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #ff6666 !important;\n}\n.jina-theme-honeybee .jina-sea .jina-wave:nth-of-type(3) {\n\tbackground: #ffcc66 !important;\n}\n\n@keyframes jina-drift {\n from {\n transform: rotate(360deg);\n }\n}\n.jina-floater-container {\n font-family: Comfortaa;\n position: fixed;\n bottom: 2em;\n right: 2em;\n}\n.jina-floater {\n background: white;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n width: 3.5em;\n height: 3.5em;\n border-radius: 50%;\n position: relative;\n cursor: pointer;\n overflow: hidden;\n}\n.jina-theme-persian .jina-floater{\n\tbackground: #009999;\n}\n.jina-theme-pompelmo .jina-floater {\n\tbackground: #ff6666;\n}\n.jina-theme-honeybee .jina-floater {\n\tbackground: #ffcc66;\n}\n.jina-floater-icon {\n width: 1.5em;\n height: 1.5em;\n position: absolute;\n top: 1em;\n left: 1em;\n transition: .2s;\n}\n.jina-floater {\n transition: .2s;\n}\n.jina-floater-large {\n width: 14em;\n height: 14em;\n transition: .2s;\n}\n.jina-floater-large .jina-floater-icon {\n left: 6em;\n top: 3em;\n}\n.jina-floater-box {\n position: fixed;\n background: white;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n bottom: 6em;\n right: 2em;\n height: 0px;\n max-height: 65vh;\n width: 300px;\n border-radius: 1em;\n flex-direction: column;\n align-items: stretch;\n font-family: Comfortaa;\n opacity: 0;\n transition: all .2s ease-out;\n display: flex;\n visibility: hidden;\n}\n.jina-floater-box-visible {\n\topacity: 1;\n visibility: visible;\n height: 400px\n}\n.jina-search-input {\n font-family: Comfortaa;\n font-size: 1em;\n border: none;\n outline: none;\n padding: .5em;\n padding-left: 2.5rem;\n margin: 0px;\n line-height: 1;\n border-width: 1px;\n\tbox-shadow: inset 0 0.0625em 0.125em rgba(10,10,10,0.05);\n}\n.jina-search-input {\n border-color: #d5ac2c;\n}\n.jina-floater-search-container {\n padding: .5em;\n border-radius: .5em .5em 0em 0em;\n position: relative;\n}\n.jina-floater-results-container {\n align-content: flex-end;\n border: 1px solid white;\n border-radius: .5em;\n margin: .5em;\n height: 100%;\n overflow-y: auto;\n transition: .2s;\n}\n.jina-floater-file-input {\n display: none;\n}\n.jina-floater-result, .jina-result {\n background: white;\n margin: .1em;\n border-radius: .25em;\n cursor: pointer;\n transition: .1s;\n}\n.jina-result.jina-text-result{\n\ttext-align: left;\n\tpadding: .25em;\n\tpadding-left: .5em;\n\tpadding-right: .5em;\n}\n.jina-grid-container {\n display: inline-block;\n margin: none;\n width: 33%;\n}\n.jina-floater-result:hover, .jina-result:hover {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n}\n.jina-results-area {\n font-family: Comfortaa;\n padding: .5em;\n height: 100%;\n overflow-y: auto;\n}\n.jina-highlighted {\n border-color: #009999;\n}\n\n.jina-theme-persian .jina-highlighted {\n\tborder-color: #009999;\n}\n.jina-theme-pompelmo .jina-highlighted {\n\tborder-color: #FF6666;\n}\n.jina-theme-honeybee .jina-highlighted {\n\tborder-color: #FFCC66;\n}\n\n.jina-theme-persian input :focus {\n border-color: #d5ac2c;\n}\n\n.jina-search-icon {\n height: 1.25rem;\n position: absolute;\n top: .5rem;\n left: .65rem;\n\t\tpadding-right: .25rem;\n}\n.jina-border-right {\n border-right: 1px solid #009999;\n}\n.jina-floater-instructions {\n text-align: center;\n opacity: .5;\n\tmargin-top: 40%;\n}\n.jina-results-label {\n font-size: .75em;\n text-align: left;\n padding-left: .5em;\n font-family: Comfortaa;\n margin-top: 1em;\n margin-left: .5em;\n opacity: .5;\n}\n.jina-search-container {\n position: relative;\n}\n.jina-persian {\n border-color: #009999;\n}\n.jina-searchbar-container {\n width: 300px;\n position: relative;\n display: inline-block;\n}\n.jina-expander {\n font-family: Comfortaa;\n background: white;\n position: absolute;\n top: 2.5em;\n width: 100%;\n border-radius: 1.1em;\n padding-top: 0em;\n padding-bottom: 0em;\n text-align: center;\n opacity: 0;\n height: 0px;\n transition: .2s;\n overflow: hidden;\n max-height: 65vh;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n}\n.jina-expander-results-area {\n overflow-x: hidden;\n overflow-y: auto;\n padding-bottom: .5em;\n flex: fill;\n}\n.jina-expander-spacer {\n margin-top: 3em;\n}\n.jina-expander-close {\n cursor: pointer;\n color: white;\n padding-top: .5em;\n padding-bottom: .5em;\n background: #009999;\n}\n.jina-contained {\n width: 100%;\n box-sizing: border-box;\n}\n.jina-floater-label {\n font-family: Comfortaa;\n text-align: center;\n padding-top: 5em;\n padding-right: 2.5em;\n padding-left: 2.5em;\n opacity: 0;\n font-size: 1px;\n transition: .2s;\n text-transform: uppercase;\n letter-spacing: 3px;\n}\n.jina-floater-large .jina-floater-label {\n font-size: 1.25em;\n opacity: 1;\n}\n.jina-expander-label {\n font-family: Comfortaa;\n text-align: center;\n color: white;\n}\n.jina-dropdown-message {\n font-family: Comfortaa;\n padding-top: 9em;\n padding-bottom: 3em;\n padding-right: .5em;\n padding-left: .5em;\n height: 100%;\n}\n.jina-error {\n background: linear-gradient(to bottom left, #EF8D9C 40%, #FFC39E 100%);;\n}\n.jina-ready {\n background: #eef2f3;\n color: #000;\n}\n.jina-theme-persian .jina-ready{\n\tbackground: linear-gradient(to bottom right, #009999 40%, #32C8CD 100%);\n\tcolor: #fff;\n}\n.jina-theme-pompelmo .jina-ready{\n\tbackground: linear-gradient(to bottom right, #FF6666 40%, #ff8b8b 100%);\n\tcolor: #fff;\n}\n.jina-theme-honeybee .jina-ready{\n\tbackground: linear-gradient(to bottom right, #FFCC66 40%, #ffda8f 100%);\n\tcolor: #fff;\n}\n\n.jina-dropdown-message h4 {\n font-weight: 100;\n letter-spacing: 3px;\n padding-top: 5px;\n padding-bottom: 5px;\n text-transform: uppercase;\n}\n.jina-dropdown-message button {\n\t\tfont-family: Comfortaa;\n\t\tbackground: whitesmoke;\n padding: .5em;\n font-size: 1em;\n padding-left: 1em;\n padding-right: 1em;\n border: none;\n border-radius: 20px;\n cursor: pointer;\n outline: none;\n}\n.jina-face {\n position: absolute;\n width: 4em;\n height: 4em;\n background: white;\n border-radius: 50%;\n top: 4em;\n left: 37.5%;\n z-index: 2;\n animation: jina-animation-bounce 1s ease-in infinite;\n}\n.jina-shadow {\n position: absolute;\n width: 3.75em;\n height: .75em;\n opacity: .5;\n background: #777777;\n left: 7.25em;\n top: 8em;\n border-radius: 50%;\n z-index: 1;\n}\n.jina-scale {\n animation: jina-animation-scale 1s ease-in infinite;\n}\n.jina-move {\n animation: jina-animation-move 3s ease-in-out infinite;\n}\n.jina-roll {\n animation: jina-animation-roll 3s ease-in-out infinite;\n}\n@keyframes jina-animation-scale {\n 50% {\n transform: scale(0.9);\n }\n}\n@keyframes jina-animation-move {\n 0% {\n left: 25%;\n }\n 50% {\n left: 60%;\n }\n 100% {\n left: 25%;\n }\n}\n@keyframes jina-animation-roll {\n 0% {\n transform: rotate(0deg);\n left: 25%;\n }\n 50% {\n left: 60%;\n transform: rotate(168deg);\n }\n 100% {\n transform: rotate(0deg);\n left: 25%;\n }\n}\n@keyframes jina-animation-bounce {\n 50% {\n transform: translateY(-15px);\n }\n}\n.jina-expander-overlay {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, .5);\n display: none;\n opacity: 0;\n}\n.jina-results-toolbar {\n margin-top: 3em;\n padding-right: .5em;\n padding-left: .5em;\n text-align: left;\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n flex-direction: row;\n\t\tborder-bottom: 1px solid #cfd8dc;\n}\n.jina-results-tabs {\n overflow-x: auto;\n\t\tflex: 1;\n\t\tdisplay: block;\n}\n.jina-results-tab {\n display: inline-block;\n margin: .15em;\n cursor: pointer;\n border-bottom: 2px solid #cfd8dc;\n}\n.jina-results-tab.jina-active {\n border-bottom-color: #009999;\n}\n.jina-theme-persian .jina-results-tab.jina-active{\n\tborder-bottom-color: #009999;\n}\n.jina-theme-pompelmo .jina-results-tab.jina-active{\n\tborder-bottom-color: #FF6666;\n}\n.jina-theme-honeybee .jina-results-tab.jina-active{\n\tborder-bottom-color: #FFCC66;\n}\n\n.jina-results-tab-img {\n width: 2em;\n height: 2em;\n margin-bottom: .25em;\n border-radius: .25em;\n}\n.jina-results-action-button {\n\t\tbox-sizing: border-box;\n cursor: pointer;\n width: 1.85em;\n height: 1.85em;\n border-radius: 5px;\n \tpadding: .25em;\n}\n.jina-results-action-button.jina-active {\n background-color: rgba(0, 153, 153, 0.25);\n}\n.jina-theme-persian .jina-results-action-button.jina-active {\n\tbackground-color: rgba(0, 153, 153, 0.25);\n}\n.jina-theme-pompelmo .jina-results-action-button.jina-active {\n\tbackground-color: rgba(255, 102, 102, 0.25);;\n}\n.jina-theme-honeybee .jina-results-action-button.jina-active {\n\tbackground-color: rgba(255, 204, 102, 0.25);\n}\n\n.eye {\n position: absolute;\n width: 5px;\n height: 5px;\n background: #777777;\n border-radius: 50%;\n top: 40%;\n left: 20%;\n}\n.right {\n left: 68%;\n}\n.mouth {\n position: absolute;\n top: 43%;\n left: 41%;\n width: 7px;\n height: 7px;\n border-radius: 50%;\n}\n.happy {\n border: 2px solid;\n border-color: transparent #777777 #777777 transparent;\n transform: rotate(45deg);\n}\n.sad {\n top: 49%;\n border: 2px solid;\n border-color: #777777 transparent transparent #777777;\n transform: rotate(45deg);\n}\n.unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";document.body.appendChild(stylesElement);let defaultPlaceholders=["type or drag anything to search","powered by Jina","unleash your curiosity and happy searching"],defaultSettings={showResults:!0,typewriterEffect:!1,typewriterDelayCharacter:50,typewriterDelayItem:1e3,theme:"persian",searchIcon:"color",floaterIcon:"color",globalDrag:!0};class Floater extends HTMLElement{constructor(){super();this.listenForEnter=t=>{13==t.keyCode&&this.search()};this.search=async(t=[this.searchInput.value],n=!1)=>{if(!n){this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right")}let e;try{e=await window.JinaBox.search(t,10,n);this.dropped=!1}catch(t){this.dropped=!1;return}let i=[],{docs:a}=e.search;for(let t=0;t<a.length;++t){let n=a[t],{topkResults:e}=n;for(let t=0;t<e.length;++t){const n=e[t];i.push({data:n.matchDoc.uri,score:n.score.value,contentType:n.matchDoc.uri.startsWith("data:image/")?"image":"text"})}}this.results=i;let s="";this.results=this.results.sort((t,n)=>n.score-t.score);s+=`<p class="jina-floater-results-label">results for ${n?`${t.length} image input${t.length>1?"s":""}`:`"${t}"`}</p>`;this.results.map((t,n)=>{s+=`<div class="jina-floater-result" id="jina-floater-result-${n}">${"text"===t.contentType?t.data:`<img src="${t.data}" class="jina-result-image"/>`}</div>`});this.dropArea.innerHTML=s;this.results.map((t,n)=>{document.getElementById("jina-floater-result-"+n).addEventListener("click",()=>{this.search([t.data],t.data.startsWith("data:image/"))})})};this.preventDefaults=t=>{t.preventDefault();t.stopPropagation()};this.handleDrag=()=>{this.dragCounter++;if(this.showBox){this.highlightArea();this.highlightSearch()}else this.showLargeFloater()};this.handleDragLeave=()=>{this.dragCounter--;if(this.dragCounter<1){if(this.showBox){this.unhighlightArea();this.unhighlightSearch()}else this.hideLargeFloater();this.dragCounter=0}};this.handleDrop=async t=>{let n=t.dataTransfer,e=n.getData("URL");this.handleDragLeave();this.showBox||this.toggleShow();if(e)if(e.startsWith("data:")){this.search([e],!0);this.searchIcon.src=e;this.searchIcon.classList.add("jina-border-right")}else{let n;try{n=await getDataUri(e)}catch(t){n=e}this.searchIcon.src=n;this.searchIcon.classList.add("jina-border-right");this.search([e],!0)}else{let t=n.files,e=[];for(let n=0;n<t.length;++n){const i=t[n];let a=new FileReader;a.addEventListener("load",()=>{const n=a.result;e.push(n);if(e.length===t.length){this.search(e,!0);this.searchIcon.src=e[0];this.searchIcon.classList.add("jina-border-right")}},!1);a.readAsDataURL(i)}}};this.toggleShow=()=>{this.showBox=!this.showBox;if(this.showBox){this.floaterBox.classList.add("jina-floater-box-visible");document.querySelector("#jina-floater-icon img").src=this.closeIcon}else{this.floaterBox.classList.remove("jina-floater-box-visible");document.querySelector("#jina-floater-icon img").src=this.floaterIcon}};this.showLargeFloater=()=>{this.jinaButton.classList.add("jina-floater-large");this.jinaButton.classList.add("jina-ready")};this.hideLargeFloater=()=>{this.jinaButton.classList.remove("jina-floater-large");this.jinaButton.classList.remove("jina-ready")};this.highlightArea=()=>{this.dropArea.classList.add("jina-highlighted");this.dropArea.classList.add("jina-ready")};this.unhighlightArea=()=>{this.dropArea.classList.remove("jina-highlighted");this.dropArea.classList.remove("jina-ready")};this.highlightSearch=()=>{this.searchInput.classList.add("jina-highlighted")};this.unhighlightSearch=()=>{this.searchInput.classList.remove("jina-highlighted")};this.settings={};let t=Object.keys(defaultSettings);for(let n=0;n<t.length;++n){const e=t[n];this.settings[e]=this.getAttribute(e)||defaultSettings[e]}this.getAttribute("floaterIcon")||"default"!==this.settings.theme&&(this.settings.floaterIcon="inverse");"default"!==this.settings.theme?this.closeIcon=_icons.closeLight:this.closeIcon=_icons.closeDark;this.floaterIcon=_icons[this.settings.floaterIcon]||this.settings.floaterIcon;const n=_icons[this.settings.searchIcon]||this.settings.searchIcon;this.originalSearchIcon=n;this.innerHTML=`\n\t\t<div class="jina-floater-container jina-theme-${this.settings.theme}">\n\t\t\t<div class="jina-floater" id="jina-floater-icon">\n\t\t\t\t<img src="${this.floaterIcon}" class="jina-floater-icon"/>\n\t\t\t\t<h4 class="jina-floater-label">Drop here</h4>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="jina-floater-box jina-theme-${this.settings.theme}" id="jina-floater-box">\n\t\t\t<div class="jina-floater-search-container">\n\t\t\t\t<div id="jina-floater-background-search-container" class="jina-bg-default">\n\t\t\t\t\t<div class="jina-search-container">\n\t\t\t\t\t\t<img src="${n}" class="jina-search-icon" id="jina-floater-search-icon" />\n\t\t\t\t\t\t<input placeholder="type or drop to search" class="jina-search-input jina-contained" id="jina-floater-search-box" autocomplete="off">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class="jina-floater-results-container" id="jina-floater-drop-area">\n\t\t\t\t<input type="file" id="jina-floater-file-input" class="jina-floater-file-input" multiple>\n\t\t\t\t<h3 class="jina-floater-instructions">Drop here to search</h3>\n\t\t\t</div>\n\t\t</div>\n\t\t`;this.showBox=!1;this.dragCounter=0;this.jinaButton=document.getElementById("jina-floater-icon");this.dropArea=document.getElementById("jina-floater-drop-area");this.searchInput=document.getElementById("jina-floater-search-box");this.searchBackground=document.getElementById("jina-floater-background-search-container");this.floaterBox=document.getElementById("jina-floater-box");this.searchIcon=document.getElementById("jina-floater-search-icon");this.jinaButton.addEventListener("click",this.toggleShow);["drag","dragenter","dragover","dragleave","dragexit","drop"].forEach(t=>{document.addEventListener(t,this.preventDefaults,!1)});["dragenter"].forEach(t=>{document.addEventListener(t,this.handleDrag,!1)});["dragleave","drop","dragexit"].forEach(t=>{document.addEventListener(t,this.handleDragLeave,!1)});this.dropArea.addEventListener("drop",this.handleDrop,!1);this.jinaButton.addEventListener("drop",this.handleDrop,!1);this.searchInput.addEventListener("drop",this.handleDrop,!1);this.searchInput=document.getElementById("jina-floater-search-box");this.searchInput.addEventListener("keydown",this.listenForEnter);this.searchInput.addEventListener("focus",this.highlightSearch);this.searchInput.addEventListener("blur",this.unhighlightSearch);if(this.settings.typewriterEffect){typeWriter("#jina-floater-search-box",JSON.parse(this.getAttribute("placeholders"))||defaultPlaceholders,0,0,this.settings.typewriterDelayCharacter,this.settings.typewriterDelayItem)}}}class SearchBar extends HTMLElement{constructor(){super();this.search=async(t=[this.searchInput.value],n=!1)=>{if(!n||t.length>1){this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right")}this.showLoading();let e,i=new Date;try{e=await window.JinaBox.search(t,10,n);this.dropped=!1}catch(t){this.dropped=!1;return this.showError(t)}let a=new Date,s=Math.round((a-i)/10)/100,M=[],r=[],o=0,g=!1,c=!1,{docs:j}=e.search;for(let t=0;t<j.length;++t){let n=j[t],{topkResults:e,uri:i,mimeType:a}=n;"text/plain"!==n.mimeType&&(g=!0);r.push({uri:i,mimeType:a});for(let i=0;i<e.length;++i){const a=e[i];M[t]||(M[t]=[]);"text/plain"===n.mimeType&&(c=!0);M[t].push({mimeType:a.matchDoc.mimeType,data:a.matchDoc.uri,text:a.matchDoc.text,score:a.score.value});o++}}for(let t=0;t<M.length;++t)M[t]=M[t].sort((t,n)=>n.score-t.score);this.queries=r;this.results=M;this.resultsMeta={totalTime:s,totalResults:o,resultsContainText:c,queriesContainMedia:g};this.showResults(0)};this.setResultsView=t=>{localStorage.setItem("jina-expander-results-view",t);this.resultsView=t;this.showResults()};this.listenForEnter=t=>{13==t.keyCode&&this.search()};this.preventDefaults=t=>{t.preventDefault();t.stopPropagation()};this.handleDrop=async t=>{this.dropped=!0;let n=t.dataTransfer,e=n.getData("URL");if(e)if(e.startsWith("data:")){this.search([e],!0);this.searchIcon.src=e;this.searchIcon.classList.add("jina-border-right")}else{let n;try{n=await getDataUri(e)}catch(t){n=e}this.searchIcon.src=n;this.searchIcon.classList.add("jina-border-right");this.search([e],!0)}else{let t=n.files,e=[];for(let n=0;n<t.length;++n){const i=t[n];let a=new FileReader;a.addEventListener("load",()=>{const n=a.result;e.push(n);if(e.length===t.length){this.search(e,!0);if(e.length<2){this.searchIcon.src=e[0];this.searchIcon.classList.add("jina-border-right")}}},!1);a.readAsDataURL(i)}}};this.handleDrag=()=>{this.dragCounter++;if(!this.highlighted){this.overlay.style.display="block";this.overlay.style.opacity="1";this.searchInput.classList.add("jina-highlighted");this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML='\n\t\t\t\t<div class="jina-dropdown-message jina-ready unselectable">\n \t\t\t<div class="jina-face"><div class="eye"></div><div class="eye right"></div><div class="mouth happy"></div></div>\n \t\t\t<div class="jina-shadow jina-scale"></div>\n\t\t\t\t\t<h4 class="alert">Drop here</h4>\n\t\t\t\t\t<p>Drop any content here from webpage/local to search</p>\n\t\t\t\t</div>\n\t\t\t\t';this.highlighted=!0}};this.handleDragLeave=()=>{this.dragCounter--;if(this.dragCounter<1){this.searchInput.classList.remove("jina-highlighted");if(!this.dropped){this.overlay.style.display="none";this.overlay.style.opacity="0";this.expander.style.height="0px";this.expander.style.opacity=0;this.clearExpander()}this.dragCounter=0}};this.showLoading=()=>{this.overlay.style.display="block";this.overlay.style.opacity="1";this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML='\n\t\t\t<div class="jina-sea">\n\t\t\t\t<p class="title">Searching</p>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t\t<span class="jina-wave"></span>\n\t\t\t</div>\n\t\t'};this.showError=(t="could not reach server")=>{this.expander.style.height="auto";this.expander.style.opacity=1;this.expander.innerHTML=`\n\t\t\t<div class="jina-dropdown-message jina-error unselectable">\n \t\t<div class="jina-face jina-roll"><div class="eye"></div><div class="eye right"></div><div class="mouth sad"></div>\n \t</div>\n \t\t\t<div class="jina-shadow jina-move"></div>\n\t\t\t\t<h4 class="alert">Error!</h4>\n\t\t\t\t<p>${t}</p>\n\t\t\t\t<button id="jina-searchbar-error-ok">Ok</button>\n\t\t\t</div>\n\t\t`;this.errorButton=document.getElementById("jina-searchbar-error-ok");this.errorButton.onclick=this.clearExpander};this.showResults=(t=this.resultsIndex)=>{this.resultsIndex=t;let n,e="",i=this.results,a=this.queries,{totalResults:s,totalTime:M,resultsContainText:r,queriesContainMedia:o}=this.resultsMeta;if(a.length>1||o){n='\n\t\t\t\t<div class="jina-results-toolbar">\n\t\t\t\t\t<div class="jina-results-tabs">';if(o)for(let e=0;e<a.length;++e){let{uri:i}=a[e];n+=`\n\t\t\t\t\t\t<div class="jina-results-tab${t===e?" jina-active":""}" id="jina-results-tab-${e}">\n\t\t\t\t\t\t\t<div class="jina-results-tab-img" style="background:url(${i});background-size: cover;"></div>\n\t\t\t\t\t\t</div>`}n+=`\n\t\t\t\t\t</div>\n\t\t\t\t\t<img class="jina-results-action-button${"list"===this.resultsView?" jina-active":""}" src="${_icons.listView}" id="jina-toolbar-button-list" draggable="false">\n\t\t\t\t\t<img class="jina-results-action-button${"grid"===this.resultsView?" jina-active":""}" src="${_icons.gridView}" id="jina-toolbar-button-grid" draggable="false">\n\t\t\t\t</div>`}e+=`<p class="jina-results-label">${s} results in ${M} seconds</p>`;for(let a=0;a<i[t].length;++a){let s=i[t][a];"grid"===this.resultsView&&n?e+=`<div class="jina-grid-container"><div class="jina-result" id="jina-result-${a}">${s.mimeType.startsWith("text")?s.text:`<img src="${s.data}" class="jina-result-image"/>`}</div></div>`:e+=`<div class="jina-result${s.mimeType.startsWith("text")?" jina-text-result":""}" id="jina-result-${a}">${s.mimeType.startsWith("text")?s.text:`<img src="${s.data}" class="jina-result-image"/>`}</div>`}if(this.settings.showResults){this.overlay.style.display="block";this.overlay.style.opacity="1";this.expander.style.height="500px";this.expander.style.opacity=1;this.expander.innerHTML=`\n\t\t\t\t${n||'<div class="jina-expander-spacer"></div>'}\n\t\t\t\t<div class="jina-expander-results-area">\n\t\t\t\t\t${e}\n\t\t\t\t</div>\n\t\t\t\t`;if(n){for(let t=0;t<a.length;++t)document.getElementById("jina-results-tab-"+t).addEventListener("click",()=>this.showResults(t));document.getElementById("jina-toolbar-button-list").addEventListener("click",()=>this.setResultsView("list"));document.getElementById("jina-toolbar-button-grid").addEventListener("click",()=>this.setResultsView("grid"))}}else{this.resultsArea=document.getElementById("jina-results-area");this.resultsArea.innerHTML=html;this.clearExpander()}i[t].map((t,n)=>{document.getElementById("jina-result-"+n).addEventListener("click",()=>{if(t.mimeType.startsWith("text")){this.searchInput.value=t.text;this.search()}else{this.search([t.data],!0);this.searchIcon.src=t.data;this.searchIcon.classList.add("jina-border-right")}})})};this.clearExpander=async()=>{this.searchIcon.src=this.originalSearchIcon;this.searchIcon.classList.remove("jina-border-right");this.searchInput.value="";this.overlay.style.display="none";this.overlay.style.opacity="0";this.dragCounter=0;this.searchInput.classList.remove("jina-highlighted");this.expander.style.height="0px";this.expander.style.opacity=0;this.expander.style.transition=".2s";await(t=.2,new Promise((n,e)=>{setTimeout(()=>n(),1e3*t)}));var t;this.expander.innerHTML="";this.highlighted=!1};this.settings={};let t=Object.keys(defaultSettings);for(let n=0;n<t.length;++n){const e=t[n];this.settings[e]=this.getAttribute(e)||defaultSettings[e]}this.originalSearchIcon=_icons[this.settings.searchIcon]||this.settings.searchIcon;this.innerHTML=`\n\t\t<div class="jina-expander-overlay" id="jina-expander-overlay"></div>\n\t\t<div class="jina-searchbar-container jina-theme-${this.settings.theme}">\n\t\t\t<div class="jina-expander" id="jina-search-expander"></div>\n\t\t\t<div id="jina-searchbar-background-container" class="jina-bg-default">\n\t\t\t\t<div class="jina-search-container">\n\t\t\t\t\t<img src="${this.originalSearchIcon}" class="jina-search-icon" id="jina-search-icon" />\n\t\t\t\t\t<input placeholder="type or drop to search" class="jina-search-input jina-contained" id="jina-search-input" autocomplete="off">\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t`;this.overlay=document.getElementById("jina-expander-overlay");this.expander=document.getElementById("jina-search-expander");this.searchInput=document.getElementById("jina-search-input");this.searchIcon=document.getElementById("jina-search-icon");this.dragCounter=0;["drag","dragenter","dragover","dragleave","dragexit","drop"].forEach(t=>{document.addEventListener(t,this.preventDefaults)});["dragenter"].forEach(t=>{document.addEventListener(t,this.handleDrag)});["dragleave","drop","dragexit"].forEach(t=>{document.addEventListener(t,this.handleDragLeave)});this.overlay.addEventListener("click",this.clearExpander);this.searchInput.addEventListener("drop",this.handleDrop);this.expander.addEventListener("drop",this.handleDrop);this.searchInput.addEventListener("keydown",this.listenForEnter);this.resultsView=localStorage.getItem("jina-expander-results-view")||"list";if(this.settings.typewriterEffect){typeWriter("#jina-search-input",JSON.parse(this.getAttribute("placeholders"))||defaultPlaceholders)}}}class Results extends HTMLElement{constructor(){super();this.handleDrag=()=>{};this.handleDragLeave=()=>{};this.innerHTML='\n\t\t<div class="jina-results-area" id="jina-results-area"></div>\n\t\t';this.dropArea=document.getElementById("jina-search-input");this.dropArea.addEventListener("dragenter",this.handleDrag);this.dropArea.addEventListener("drop",this.handleDrop);this.dropArea.addEventListener("dragleave",this.handleDragLeave)}}window.customElements.define("jina-floater",Floater);window.customElements.define("jina-searchbar",SearchBar);window.customElements.define("jina-results",Results);window.JinaSettings={timeout:5e3,url:!1};window.JinaBox={init:function(t,n){window.JinaSettings={...window.JinaSettings,...n,url:t}},search:async function(t,n=10){return new Promise((function(e,i){const{url:a,timeout:s}=window.JinaSettings;var M=new XMLHttpRequest;M.open("POST",a);M.setRequestHeader("Content-Type","application/json");M.onload=()=>e(JSON.parse(M.responseText));M.onerror=function(t){i("request failed at "+a)};M.timeout=s;M.ontimeout=()=>i("Search Timeout");M.send(JSON.stringify({data:t,top_k:n,mode:"search"}))}))},updateSettings:function(t){window.JinaSettings={...window.JinaSettings,...t}}};function getDataUri(t){return new Promise((function(n,e){var i=new XMLHttpRequest;i.responseType="arraybuffer";i.open("GET",""+t);i.onload=function(){var t,e,a,s;a=new Uint8Array(i.response);e=[].map.call(a,(function(t){return String.fromCharCode(t)})).join("");t=["data:",(s=i.getResponseHeader("content-type"))?s+";":"","base64,",btoa(e)].join("");n(t)};i.onerror=function(t){e(t)};i.send()}))}function typeWriter(t,n,e=0,i=0,a=100,s=1e3){e||(document.querySelector(t).placeholder="");txt=n[i];if(e<txt.length){document.querySelector(t).placeholder+=txt.charAt(e);e++;setTimeout(typeWriter,a,t,n,e,i,a,s)}else if(void 0===n[++i])setTimeout(typeWriter,s,t,n,0,0,a,s);else{e=0;setTimeout(typeWriter,s,t,n,e,i,a,s)}} |
@@ -21,3 +21,3 @@ let _icons = { | ||
border-radius: 100px; | ||
border-color: #009999; | ||
border-color: #dbdbdb; | ||
overflow: hidden; | ||
@@ -72,5 +72,6 @@ border-style: solid; | ||
font-weight: 700; | ||
font-size: .75em; | ||
line-height:1.5; | ||
font-size: .75em; | ||
line-height:1.5; | ||
} | ||
.jina-sea { | ||
@@ -80,3 +81,3 @@ width: 300px; | ||
background-color: whitesmoke; | ||
background-image: linear-gradient(#009999, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5)); | ||
background-image: linear-gradient(#8e9eab, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.5)); | ||
position: relative; | ||
@@ -110,3 +111,3 @@ } | ||
height: 500px; | ||
background: #009999; | ||
background: #8e9eab; | ||
border-radius: 35%; | ||
@@ -227,6 +228,11 @@ filter: opacity(0.4); | ||
padding: .5em; | ||
padding-left: 2.5rem; | ||
margin: 0px; | ||
line-height: 1; | ||
padding-left: 2.5rem; | ||
margin: 0px; | ||
line-height: 1; | ||
border-width: 1px; | ||
box-shadow: inset 0 0.0625em 0.125em rgba(10,10,10,0.05); | ||
} | ||
.jina-search-input { | ||
border-color: #d5ac2c; | ||
} | ||
.jina-floater-search-container { | ||
@@ -290,2 +296,6 @@ padding: .5em; | ||
.jina-theme-persian input :focus { | ||
border-color: #d5ac2c; | ||
} | ||
.jina-search-icon { | ||
@@ -327,6 +337,6 @@ height: 1.25rem; | ||
.jina-expander { | ||
font-family: Comfortaa; | ||
background: white; | ||
font-family: Comfortaa; | ||
background: white; | ||
position: absolute; | ||
top: 2px; | ||
top: 2.5em; | ||
width: 100%; | ||
@@ -372,3 +382,2 @@ border-radius: 1.1em; | ||
padding-left: 2.5em; | ||
color: #fff; | ||
opacity: 0; | ||
@@ -378,2 +387,3 @@ font-size: 1px; | ||
text-transform: uppercase; | ||
letter-spacing: 3px; | ||
} | ||
@@ -401,13 +411,16 @@ .jina-floater-large .jina-floater-label { | ||
.jina-ready { | ||
background: linear-gradient(to bottom right, #009999 40%, #32C8CD 100%); | ||
color: #fff; | ||
background: #eef2f3; | ||
color: #000; | ||
} | ||
.jina-theme-persian .jina-ready{ | ||
background: linear-gradient(to bottom right, #009999 40%, #32C8CD 100%); | ||
color: #fff; | ||
} | ||
.jina-theme-pompelmo .jina-ready{ | ||
background: linear-gradient(to bottom right, #FF6666 40%, #ff8b8b 100%); | ||
color: #fff; | ||
} | ||
.jina-theme-honeybee .jina-ready{ | ||
background: linear-gradient(to bottom right, #FFCC66 40%, #ffda8f 100%); | ||
color: #fff; | ||
} | ||
@@ -419,9 +432,5 @@ | ||
padding-top: 5px; | ||
color: white; | ||
padding-bottom: 5px; | ||
text-transform: uppercase; | ||
} | ||
.jina-dropdown-message p { | ||
color: white; | ||
} | ||
.jina-dropdown-message button { | ||
@@ -428,0 +437,0 @@ font-family: Comfortaa; |
{ | ||
"name": "jinabox", | ||
"version": "0.1.18", | ||
"version": "0.1.19", | ||
"description": "A lightweight, customizable omnibox. Useful for searching text, images, videos, audios or all other kinds data with a Jina backend.", | ||
@@ -9,3 +9,3 @@ "main": "library/jinabox.js", | ||
"test": "echo \"Error: no test specified\" && exit 1", | ||
"build": "mkdir -p dist && cp library/jinabox.js dist/jinabox.js", | ||
"build": "mkdir -p dist", | ||
"minify": "npm run build && terser library/jinabox.js -c toplevel,sequences=false,drop_console=true --mangle > dist/jinabox.min.js" | ||
@@ -12,0 +12,0 @@ }, |
@@ -1,9 +0,14 @@ | ||
# jinabox.js | ||
<p align="center"> | ||
<a href="https://github.com/jina-ai/jina"><img src="https://github.com/jina-ai/jinabox.js/blob/master/img/jinabox-logo.svg" alt="Jinabox.js banner" width="60%"></a> | ||
</p> | ||
[](https://www.npmjs.com/package/jinabox) | ||
[](http://unpkg.com/jinabox) | ||
[](https://jina.ai) | ||
[](#license) | ||
`jinabox.js` is a lightweight, customizable omnibox. You can use it for searching text, images, videos, audios or all kinds of data with a Jina backend. | ||
`jinabox.js` is a lightweight, customizable omnibox. You can use it for searching text, images, videos, audios or all kinds of data with [a Jina backend](https://github.com/jina-ai/jina). | ||
[Demo page](https://jina.ai/jinabox.js/) | ||
- [Demo page](https://jina.ai/jinabox.js/) | ||
- [Learn Jina: the fastest way to build cloud-native neural search](https://github.com/jina-ai/jina) | ||
@@ -41,3 +46,4 @@ ## Quick Start | ||
- an easy-to-use web component for Jina search backend; | ||
- allow user to drag-and-drop multiple files as queries to search; | ||
- allow user to drag-and-drop multi-modal data as queries to search; | ||
- webcam and mic support (in progress, contribution welcome! ❤️); | ||
- visualize the search results in a dropdown list or a separate container; | ||
@@ -52,4 +58,4 @@ - highly customizable. | ||
| [`image`](https://www.iana.org/assignments/media-types/media-types.xhtml#image) | drag-and-drop | `<img>` containers in list/grid view | Image or graphical data including both bitmap and vector still images as well as animated versions of still image formats such as animated GIF or APNG. Common examples are `image/jpeg`, `image/png`, and `image/svg+xml`. | | ||
| [`video`](https://www.iana.org/assignments/media-types/media-types.xhtml#video) | drag-and-drop | `<video>` containers in list/grid view | Video data or files, such as MP4 movies (`video/mp4`). | | ||
| [`audio`](https://www.iana.org/assignments/media-types/media-types.xhtml#audio) | drag-and-drop | `<audio>` containers in list view | Audio or music data. Examples include `audio/mpeg`, `audio/vorbis`. | | ||
| [`video`](https://www.iana.org/assignments/media-types/media-types.xhtml#video) | drag-and-drop, webcam | `<video>` containers in list/grid view | Video data or files, such as MP4 movies (`video/mp4`). | | ||
| [`audio`](https://www.iana.org/assignments/media-types/media-types.xhtml#audio) | drag-and-drop, webcam, mic | `<audio>` containers in list view | Audio or music data. Examples include `audio/mpeg`, `audio/vorbis`. | | ||
@@ -56,0 +62,0 @@ |
70
127040
5
1537