Created
October 29, 2024 07:50
-
-
Save alonsosilvaallende/4f2ab1647ed12dd6162565cd73f8b930 to your computer and use it in GitHub Desktop.
Solara-Mistral-Chat-Interface.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [], | |
"authorship_tag": "ABX9TyMjs38CZsK39FHKRqu1Ft+A", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
}, | |
"widgets": { | |
"application/vnd.jupyter.widget-state+json": { | |
"8566f21ebbad419b9684b4bdaf24aa14": { | |
"model_module": "jupyter-vue", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.11.1", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vue", | |
"_model_module_version": "^1.11.1", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vue", | |
"_view_module_version": "^1.11.1", | |
"_view_name": "VueView", | |
"attributes": {}, | |
"children": [], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": "display: none", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"cd787c0e5208424ba5ed73f4a48b4cfa": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"9f3c73add20f4e268222e8ec9ad4d90f": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"cf6ad2d8c41a418282fab2d1c17b8cf8": { | |
"model_module": "jupyter-vue", | |
"model_name": "TemplateModel", | |
"model_module_version": "^1.11.1", | |
"state": { | |
"_model_module": "jupyter-vue", | |
"_model_module_version": "^1.11.1", | |
"_model_name": "TemplateModel", | |
"_view_count": null, | |
"_view_module": null, | |
"_view_module_version": "", | |
"_view_name": null, | |
"template": "<template>\n <component :is=\"tag\" v-bind=\"attributes\" v-html=\"unsafe_innerHTML\">\n </component>\n</template>\n" | |
} | |
}, | |
"c0f1620c45664bea919771dc913a3888": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_9f3c73add20f4e268222e8ec9ad4d90f", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"e30917e84ea041108e81785210c937a0": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"77df89a2055245c8b87b96a8dc4e9625": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"93897c7805ea483eb4cd9ce15b9a1b88": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_e30917e84ea041108e81785210c937a0", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I assist you today?</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"d53ad0c0d6c544c085c6bf281b536a30": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"7fca4d3e7c744f68a804c4ea6506c71b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_c0f1620c45664bea919771dc913a3888" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"503a62e4e6bc42b3a2f2a7972ef9e26b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_77df89a2055245c8b87b96a8dc4e9625", | |
"IPY_MODEL_88a96ca648254928b835949c1590e03b" | |
], | |
"class_": "d-flex ma-0 chat-message-6cc7694e-a23e-4545-b0a7-dae8117eb22d right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"042a35452fe246ed8a8c0b02eaaa0769": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_d53ad0c0d6c544c085c6bf281b536a30", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-50493724-053a-4175-9adc-32cb52bc7ba1-8101d0eb32d5ac63ac3b0f7a5fc00c0b17501c3737f805fa3606c5dd1d373748\").remove();\n },\n};\n</script>\n \n<style id=\"50493724-053a-4175-9adc-32cb52bc7ba1-8101d0eb32d5ac63ac3b0f7a5fc00c0b17501c3737f805fa3606c5dd1d373748\">\n\n .chat-message-6cc7694e-a23e-4545-b0a7-dae8117eb22d{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-6cc7694e-a23e-4545-b0a7-dae8117eb22d.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-6cc7694e-a23e-4545-b0a7-dae8117eb22d.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"27646a07dc2a4cf9828e29bcc8c0e5e9": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"22cdbcac882f45ad8a0220163a9e97ce": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_27646a07dc2a4cf9828e29bcc8c0e5e9", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"6de321d107c94f4a943a6f6c6ec4c122": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"decbee8531424e1ea2271dbb515eb50d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"638557cc2ed74dff8a91c9d6a78eb5cd": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_6de321d107c94f4a943a6f6c6ec4c122", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"5b80b823c94e4ddb8105a662dbd13296": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"d2c62c97d1a34bbd81adba0a6d442fe4": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_22cdbcac882f45ad8a0220163a9e97ce" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"fcabf75c07994c6280c1d5804d986298": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_decbee8531424e1ea2271dbb515eb50d", | |
"IPY_MODEL_638557cc2ed74dff8a91c9d6a78eb5cd" | |
], | |
"class_": "d-flex ma-0 chat-message-2d208afa-b8dd-4d39-8181-250705f840e9 right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"ffc2af9bac9f4cfea7af2db001158bdc": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_5b80b823c94e4ddb8105a662dbd13296", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-0dba6086-382d-47e8-b15b-2d35136124ec-d32c003be48810ae400592c61a5b91847595a5890c3d3291ba3c5963b6193364\").remove();\n },\n};\n</script>\n \n<style id=\"0dba6086-382d-47e8-b15b-2d35136124ec-d32c003be48810ae400592c61a5b91847595a5890c3d3291ba3c5963b6193364\">\n\n .chat-message-2d208afa-b8dd-4d39-8181-250705f840e9{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-2d208afa-b8dd-4d39-8181-250705f840e9.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-2d208afa-b8dd-4d39-8181-250705f840e9.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"82a63ac6a6254b7ba24850088d184b26": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_7fca4d3e7c744f68a804c4ea6506c71b", | |
"IPY_MODEL_503a62e4e6bc42b3a2f2a7972ef9e26b", | |
"IPY_MODEL_042a35452fe246ed8a8c0b02eaaa0769" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"72740b725fcf4165babc519943a0f0c2": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_d2c62c97d1a34bbd81adba0a6d442fe4", | |
"IPY_MODEL_fcabf75c07994c6280c1d5804d986298", | |
"IPY_MODEL_ffc2af9bac9f4cfea7af2db001158bdc" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"6ce1775a46244a24b6483e0d586dcb7d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_88de8e2b9bd34c5db3c58f95f5e5e3df", | |
"IPY_MODEL_cfc7c93e0c694dff8ab231c780ad9243", | |
"IPY_MODEL_fc74b1928a4345c48f2a8035ef3d6edc" | |
], | |
"class_": "d-flex ma-0 chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 12px; flex-grow: 1; flex-direction: column-reverse; overflow-y: auto;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"75a173daabb64f1c9675721a970f7882": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "ColModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "ColModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align_self": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_6ce1775a46244a24b6483e0d586dcb7d" | |
], | |
"class_": null, | |
"cols": 12, | |
"layout": null, | |
"lg": null, | |
"md": null, | |
"offset": null, | |
"offset_lg": null, | |
"offset_md": null, | |
"offset_sm": null, | |
"offset_xl": null, | |
"order": null, | |
"order_lg": null, | |
"order_md": null, | |
"order_sm": null, | |
"order_xl": null, | |
"slot": null, | |
"sm": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"xl": null | |
} | |
}, | |
"ada3621e74034a94975d07f8f236e8a5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "RowModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "RowModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align": null, | |
"align_content": null, | |
"align_content_lg": null, | |
"align_content_md": null, | |
"align_content_sm": null, | |
"align_content_xl": null, | |
"align_lg": null, | |
"align_md": null, | |
"align_sm": null, | |
"align_xl": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_75a173daabb64f1c9675721a970f7882" | |
], | |
"class_": "solara-content-main", | |
"dense": null, | |
"justify": null, | |
"justify_lg": null, | |
"justify_md": null, | |
"justify_sm": null, | |
"justify_xl": null, | |
"layout": null, | |
"no_gutters": false, | |
"slot": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"bef160e1c7414930a4cedba5f3d8267f": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_ada3621e74034a94975d07f8f236e8a5" | |
], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": null, | |
"tag": "div", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"240acb1d17d842c88d578a0937156ed9": { | |
"model_module": "@jupyter-widgets/controls", | |
"model_name": "VBoxModel", | |
"model_module_version": "1.5.0", | |
"state": { | |
"_dom_classes": [], | |
"_model_module": "@jupyter-widgets/controls", | |
"_model_module_version": "1.5.0", | |
"_model_name": "VBoxModel", | |
"_view_count": 1, | |
"_view_module": "@jupyter-widgets/controls", | |
"_view_module_version": "1.5.0", | |
"_view_name": "VBoxView", | |
"box_style": "", | |
"children": [ | |
"IPY_MODEL_bef160e1c7414930a4cedba5f3d8267f" | |
], | |
"layout": "IPY_MODEL_cd787c0e5208424ba5ed73f4a48b4cfa" | |
} | |
}, | |
"88a96ca648254928b835949c1590e03b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_23559be915eb4de6b9c5531f1a313af9", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"23559be915eb4de6b9c5531f1a313af9": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"1ff99c3189094a3b8a7fe3f5b6254f68": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_a9da24e0a444459396f7c09f68298a33", | |
"IPY_MODEL_d2cf9695bf524d6a8c29e1209edd870d", | |
"IPY_MODEL_103ef898135e4162a4c09d2923648008" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"a9da24e0a444459396f7c09f68298a33": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_095b296f925b4870a8d81e90cdea2d3d" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"d2cf9695bf524d6a8c29e1209edd870d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_e95f4194610a43c7bb628e5067d06c3b", | |
"IPY_MODEL_df6ae095beb74ba7a930dd66818a0823" | |
], | |
"class_": "d-flex ma-0 chat-message-aebcd732-58e2-49b4-8055-74b7254ad4cc left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"103ef898135e4162a4c09d2923648008": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_4053f1f9894e4c79931b44117e4eb0bd", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-09565bd4-7ffe-439f-8355-d550a65269e8-fcf741b0bd7c6002c3829edc23db4286e66921e2e12bad64f26c92346a1e0ccb\").remove();\n },\n};\n</script>\n \n<style id=\"09565bd4-7ffe-439f-8355-d550a65269e8-fcf741b0bd7c6002c3829edc23db4286e66921e2e12bad64f26c92346a1e0ccb\">\n\n .chat-message-aebcd732-58e2-49b4-8055-74b7254ad4cc{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-aebcd732-58e2-49b4-8055-74b7254ad4cc.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-aebcd732-58e2-49b4-8055-74b7254ad4cc.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"095b296f925b4870a8d81e90cdea2d3d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_cbbb48379d1a410ab75cf359c5ac4187", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"e95f4194610a43c7bb628e5067d06c3b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"d4a0871d967c407991c06246b1372ecb": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_ac61359461e7402da57bbeb925a9bf9b", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"4053f1f9894e4c79931b44117e4eb0bd": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"cbbb48379d1a410ab75cf359c5ac4187": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"ac61359461e7402da57bbeb925a9bf9b": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"af553f2887444389b3845bf3ed261861": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_c4f7f15f525d49f3829ded1ec91b41be", | |
"IPY_MODEL_c235ca26956744adbd1581bb66cb91c5", | |
"IPY_MODEL_79dbc206c82f4e8f9d5b9dc9b4647fa8" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c4f7f15f525d49f3829ded1ec91b41be": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_33a62ee93a9447f7b1ddb85568fca7b6" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c235ca26956744adbd1581bb66cb91c5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_e1d545216c46483e888595001758d140", | |
"IPY_MODEL_0db40f2d0027485f994057aea22d4c5f" | |
], | |
"class_": "d-flex ma-0 chat-message-f05c72a9-289d-4a95-92d0-4b242c994a3f right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"79dbc206c82f4e8f9d5b9dc9b4647fa8": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_029e2d0d370e47e49382d042486843cf", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-2e1de1d2-29b9-4376-bfae-9e5486e413ef-f2dcdee27f1b41866e3c61fc0e42a1d72b34acd0fa0e278b8cf1dfe571825fe9\").remove();\n },\n};\n</script>\n \n<style id=\"2e1de1d2-29b9-4376-bfae-9e5486e413ef-f2dcdee27f1b41866e3c61fc0e42a1d72b34acd0fa0e278b8cf1dfe571825fe9\">\n\n .chat-message-f05c72a9-289d-4a95-92d0-4b242c994a3f{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-f05c72a9-289d-4a95-92d0-4b242c994a3f.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-f05c72a9-289d-4a95-92d0-4b242c994a3f.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"33a62ee93a9447f7b1ddb85568fca7b6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_3d9c9799ee0a454e82bd7c71e130c73e", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"e1d545216c46483e888595001758d140": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"0db40f2d0027485f994057aea22d4c5f": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_0c25afeba48d4943a2a49f26927c0a3a", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"029e2d0d370e47e49382d042486843cf": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"3d9c9799ee0a454e82bd7c71e130c73e": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"0c25afeba48d4943a2a49f26927c0a3a": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"095c0e104fff4aa7810a4dd674ebf066": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_aed83099b1324b57ab6007414e48f787", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"aed83099b1324b57ab6007414e48f787": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"f28def656c954c7b9c7f20b4cb0c0094": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_7685a5c421ef499ba34f6b8a50091652", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"7685a5c421ef499ba34f6b8a50091652": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"e90d311f5afa40b5b5f6ccd24bee8009": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_444dfccf84fd4ed096f5faa20420f271", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"444dfccf84fd4ed096f5faa20420f271": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"77feed005b9b442d992cc0fb4dd798c4": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_de1efe0979ea4482a8822b91070c4af5", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"de1efe0979ea4482a8822b91070c4af5": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"d6a6fee53cae498fb6b8f488b7e6fd14": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_3c9ce8a875604c87b8e301401e6dd8ac", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"3c9ce8a875604c87b8e301401e6dd8ac": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"49ffa4b98eae43e08c6f5c0520850762": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_fe158d7e27ca40a69bf05c9fd30da9b3", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"fe158d7e27ca40a69bf05c9fd30da9b3": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"74042a5d5fb446a18e1902359b7954c5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_4ffb086cf7484f30b65d4f0223de238c", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help you</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"4ffb086cf7484f30b65d4f0223de238c": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"2d221abf10084eb3a5303651fd0fba02": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_b9adbe4e67ee4500acc5f7fb27f36af4", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help you today</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"b9adbe4e67ee4500acc5f7fb27f36af4": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"8607d4e9cbae44908b902a7f0a4cbd94": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_cd0f65de069f4e26afa571fdcba84a98", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help you today?</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"cd0f65de069f4e26afa571fdcba84a98": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"7be44d12b54f4b5c87c3bb988b598097": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_5aba79eec49c4708b52931fdcce508ae", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help you today? </p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"5aba79eec49c4708b52931fdcce508ae": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"df6ae095beb74ba7a930dd66818a0823": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_0f4a803e85b54e1887b3f674a99910b7", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can I help you today? 😊</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"0f4a803e85b54e1887b3f674a99910b7": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"dc5f4ed28345445994775293bab0d18e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_e8201bca6842477d8331807f05f56d2c", | |
"IPY_MODEL_aa77d298e432462bb4c9ec74a42257e9", | |
"IPY_MODEL_08520e6a12d741b7ab35bb3a3c4c148d" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"e8201bca6842477d8331807f05f56d2c": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_7ad29b73ce46429da60e2323f10597c3" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"aa77d298e432462bb4c9ec74a42257e9": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_99fdf60dbe544921a622a92e1ffbd0ea", | |
"IPY_MODEL_a9ec0955b6d94fc08ac73366b3d5b9a1" | |
], | |
"class_": "d-flex ma-0 chat-message-b4a8f759-191c-476f-b2b9-b31eab96b649 left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"08520e6a12d741b7ab35bb3a3c4c148d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_53a032127fc64bd38e715653bd682f39", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-d2bf3cde-ec8f-4985-97f3-d8d52a995b9e-f2cd4a51450b9ae9bbcd285a21ba524489d32e05473539d70deaae9fad57d76f\").remove();\n },\n};\n</script>\n \n<style id=\"d2bf3cde-ec8f-4985-97f3-d8d52a995b9e-f2cd4a51450b9ae9bbcd285a21ba524489d32e05473539d70deaae9fad57d76f\">\n\n .chat-message-b4a8f759-191c-476f-b2b9-b31eab96b649{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-b4a8f759-191c-476f-b2b9-b31eab96b649.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-b4a8f759-191c-476f-b2b9-b31eab96b649.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"7ad29b73ce46429da60e2323f10597c3": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_d6d92fa3b223420fb0c8dfaf49b34e94", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"99fdf60dbe544921a622a92e1ffbd0ea": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"9a851d01085e43d5b15e47b912ffcada": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_677bcb7959ee4c0a98511ee4a87cd50a", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"53a032127fc64bd38e715653bd682f39": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"d6d92fa3b223420fb0c8dfaf49b34e94": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"677bcb7959ee4c0a98511ee4a87cd50a": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"889825ecabe749b68a22827524e7cba6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_2948eccf56fb476db7c1eed2ea57be5d", | |
"IPY_MODEL_eb00be48118f404b818bb9533fa81534", | |
"IPY_MODEL_31d7ea1a5a514572876a0c827f06d021" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"2948eccf56fb476db7c1eed2ea57be5d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_3d9a51cd9de64262b66cab791072fd53" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"eb00be48118f404b818bb9533fa81534": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_520160bb0c9847c7b790ba0d8bc848cd", | |
"IPY_MODEL_d44c1514b01146b0ac381e8f493c6eca" | |
], | |
"class_": "d-flex ma-0 chat-message-c3e35e40-7938-454f-a2ee-8a4c20c0c5b4 right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"31d7ea1a5a514572876a0c827f06d021": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_509792605c5e4546b1d777960166be47", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-c9f31a49-730e-4562-8cbc-11017234f54c-0ef645b5cc80eea5c7551aba73ccaba548a96f5176bc9d34157811ce29e4ee29\").remove();\n },\n};\n</script>\n \n<style id=\"c9f31a49-730e-4562-8cbc-11017234f54c-0ef645b5cc80eea5c7551aba73ccaba548a96f5176bc9d34157811ce29e4ee29\">\n\n .chat-message-c3e35e40-7938-454f-a2ee-8a4c20c0c5b4{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-c3e35e40-7938-454f-a2ee-8a4c20c0c5b4.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-c3e35e40-7938-454f-a2ee-8a4c20c0c5b4.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"3d9a51cd9de64262b66cab791072fd53": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_9953744416dc4b79a64608964a9cf429", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"520160bb0c9847c7b790ba0d8bc848cd": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"d44c1514b01146b0ac381e8f493c6eca": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_92f8b0ef39c74c09b2cefd6da19bcee2", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"509792605c5e4546b1d777960166be47": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"9953744416dc4b79a64608964a9cf429": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"92f8b0ef39c74c09b2cefd6da19bcee2": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"75d7d298180d42a1bfb4154a02dfa167": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_c74e786f6a5f42b388d0e35caef2f0cf", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How can</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"c74e786f6a5f42b388d0e35caef2f0cf": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"d32e56b4df4f4c79b679ca4a14266199": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_cad5e960753b4ade841d62aef5de0303", | |
"IPY_MODEL_9f1d1d53da1342b5ae6f81ac3a384b9f", | |
"IPY_MODEL_57fb52d6caf84affb33f155b45dbb309" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c844d000d4fb403c8936ac55a94e4816": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_27366af528fd4a52a0ffab096fbd176e", | |
"IPY_MODEL_57b550e16efd455b8a58d4627d0e826f", | |
"IPY_MODEL_2c667b986cf34cc0ac07b1b964b22b16" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"cad5e960753b4ade841d62aef5de0303": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_63026a67ddfa4825afb59b3470e394e8" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"9f1d1d53da1342b5ae6f81ac3a384b9f": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_e904a0c8c5b04576baabf80a113cbaf7", | |
"IPY_MODEL_04fda9af0a1c48668af34ae56e63999e" | |
], | |
"class_": "d-flex ma-0 chat-message-ac71a3fa-80df-436e-be7c-3623f187a1e8 left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"57fb52d6caf84affb33f155b45dbb309": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_886f8c2dfb1540eeb25d8e20bde4a2fa", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-6f67f685-2df6-4266-ae0e-3c534c4fdeac-43cf0dd51959c0c9d71f4214bb52b0ff54e3929bc79ba52d07b4fd91a4064f49\").remove();\n },\n};\n</script>\n \n<style id=\"6f67f685-2df6-4266-ae0e-3c534c4fdeac-43cf0dd51959c0c9d71f4214bb52b0ff54e3929bc79ba52d07b4fd91a4064f49\">\n\n .chat-message-ac71a3fa-80df-436e-be7c-3623f187a1e8{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-ac71a3fa-80df-436e-be7c-3623f187a1e8.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-ac71a3fa-80df-436e-be7c-3623f187a1e8.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"27366af528fd4a52a0ffab096fbd176e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_5946b960f3e344808bf31ad55d861bfd" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"57b550e16efd455b8a58d4627d0e826f": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_783a59b91da342839a610f5a363d1c5c", | |
"IPY_MODEL_886f3db327a44d17a77f82e873643e6e" | |
], | |
"class_": "d-flex ma-0 chat-message-a86dce61-b5e5-4dc6-a507-220ad8ca9376 right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"2c667b986cf34cc0ac07b1b964b22b16": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_c5d93460c4b640629c65cc714ea879ac", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-ae27cb21-302a-414d-9a54-45227146f9d7-0aa37485e3ef2b23746d481960dcf284e390feda23622dd007523ed6c4e89c12\").remove();\n },\n};\n</script>\n \n<style id=\"ae27cb21-302a-414d-9a54-45227146f9d7-0aa37485e3ef2b23746d481960dcf284e390feda23622dd007523ed6c4e89c12\">\n\n .chat-message-a86dce61-b5e5-4dc6-a507-220ad8ca9376{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-a86dce61-b5e5-4dc6-a507-220ad8ca9376.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-a86dce61-b5e5-4dc6-a507-220ad8ca9376.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"63026a67ddfa4825afb59b3470e394e8": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_38cf67b442174906a996d0ac4a58f802", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"e904a0c8c5b04576baabf80a113cbaf7": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"16dd566d4b094514bb59141c9c31b777": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_6e9212836f5d4a1fbb0b68e9fcde4a54", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello! How</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"886f8c2dfb1540eeb25d8e20bde4a2fa": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"5946b960f3e344808bf31ad55d861bfd": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_0c4ef41728a3460da07ad8a960e06e4a", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"783a59b91da342839a610f5a363d1c5c": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"886f3db327a44d17a77f82e873643e6e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_5464fbf3ea7e4d9d8fbbcd5d80424d77", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"c5d93460c4b640629c65cc714ea879ac": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"38cf67b442174906a996d0ac4a58f802": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"6e9212836f5d4a1fbb0b68e9fcde4a54": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"0c4ef41728a3460da07ad8a960e06e4a": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"5464fbf3ea7e4d9d8fbbcd5d80424d77": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"88de8e2b9bd34c5db3c58f95f5e5e3df": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_348f0517528a4a3a9f1eca93c197340a", | |
"IPY_MODEL_97089d6327e84677b5e52fa6042cf3f9", | |
"IPY_MODEL_9cb8a27eeef945fe9e7e6809a603ddff" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"cfc7c93e0c694dff8ab231c780ad9243": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_d3f203aa6e8141c48eb69f5b6db06f92", | |
"IPY_MODEL_c34fa8314ebe4408a0046fa218185da8", | |
"IPY_MODEL_c9d9a56c362c4595bd5b764f5a15eac1" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"348f0517528a4a3a9f1eca93c197340a": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_dbc2ca823c784305a1b6ec90dcce0d84" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"97089d6327e84677b5e52fa6042cf3f9": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_a473a23269ca4efa9398b608f50dd28d", | |
"IPY_MODEL_5828e54d67e74ae49514cd2163bc68ad" | |
], | |
"class_": "d-flex ma-0 chat-message-5d407e56-3cbc-4036-9888-625ad686368f left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"9cb8a27eeef945fe9e7e6809a603ddff": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_b8522725140444a88a7fd6d62bfaad04", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-f0023239-6ef8-4f3a-9128-88fa38d7c3ab-f7021d861cdc7dc390de56ee9ef1e5a67b4ceec3701de4fe49c78acaab102799\").remove();\n },\n};\n</script>\n \n<style id=\"f0023239-6ef8-4f3a-9128-88fa38d7c3ab-f7021d861cdc7dc390de56ee9ef1e5a67b4ceec3701de4fe49c78acaab102799\">\n\n .chat-message-5d407e56-3cbc-4036-9888-625ad686368f{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-5d407e56-3cbc-4036-9888-625ad686368f.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-5d407e56-3cbc-4036-9888-625ad686368f.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"d3f203aa6e8141c48eb69f5b6db06f92": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_7161c663967447739096a37c392e7d41" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c34fa8314ebe4408a0046fa218185da8": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_43a3e72b93574ed78662893d76b79ba0", | |
"IPY_MODEL_182759dc44a34158a593bed4efe993ea" | |
], | |
"class_": "d-flex ma-0 chat-message-dadc6dd5-8e67-45fe-93de-6ceead685c6a left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c9d9a56c362c4595bd5b764f5a15eac1": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_92d048d84bc348e08e8d9aa0d7e19c13", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-9637a699-7306-436b-a669-b68af79b4c28-a5bcdf305d0ed0d3558308a433b9d9dd1bd5802786a5cd3e1b438fb3251e95ac\").remove();\n },\n};\n</script>\n \n<style id=\"9637a699-7306-436b-a669-b68af79b4c28-a5bcdf305d0ed0d3558308a433b9d9dd1bd5802786a5cd3e1b438fb3251e95ac\">\n\n .chat-message-dadc6dd5-8e67-45fe-93de-6ceead685c6a{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-dadc6dd5-8e67-45fe-93de-6ceead685c6a.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-dadc6dd5-8e67-45fe-93de-6ceead685c6a.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"dbc2ca823c784305a1b6ec90dcce0d84": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_51684010ae8f4acf8a0cd23a7be16589", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"a473a23269ca4efa9398b608f50dd28d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"c5dbf64667fe419799bf6d881c615940": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_00a3792c0bab429db485bcde05bbe19d", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"b8522725140444a88a7fd6d62bfaad04": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"7161c663967447739096a37c392e7d41": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_b10238c1257840d7abc539ee7a9cfc25", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"43a3e72b93574ed78662893d76b79ba0": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"fe4c22202d4d495faf564565eeb1b3cb": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_a46272bd0865454d9ed83e4880b648d2", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"92d048d84bc348e08e8d9aa0d7e19c13": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"51684010ae8f4acf8a0cd23a7be16589": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"00a3792c0bab429db485bcde05bbe19d": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"b10238c1257840d7abc539ee7a9cfc25": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"a46272bd0865454d9ed83e4880b648d2": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"037a6bdfc810497eb4476bf7f3040540": { | |
"model_module": "jupyter-vue", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.11.1", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vue", | |
"_model_module_version": "^1.11.1", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vue", | |
"_view_module_version": "^1.11.1", | |
"_view_name": "VueView", | |
"attributes": {}, | |
"children": [], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": "display: none", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"a6cfd53202d84e188396052de7cd0316": { | |
"model_module": "@jupyter-widgets/controls", | |
"model_name": "VBoxModel", | |
"model_module_version": "1.5.0", | |
"state": { | |
"_dom_classes": [], | |
"_model_module": "@jupyter-widgets/controls", | |
"_model_module_version": "1.5.0", | |
"_model_name": "VBoxModel", | |
"_view_count": 1, | |
"_view_module": "@jupyter-widgets/controls", | |
"_view_module_version": "1.5.0", | |
"_view_name": "VBoxView", | |
"box_style": "", | |
"children": [ | |
"IPY_MODEL_ef089534e541419db6ee045a31f0b5c3" | |
], | |
"layout": "IPY_MODEL_91e4d78e4d3e41a4b62df4803fcfc7ee" | |
} | |
}, | |
"ef089534e541419db6ee045a31f0b5c3": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_286c2d1ca656444a9bd1ef11d3e7f349" | |
], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": null, | |
"tag": "div", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"91e4d78e4d3e41a4b62df4803fcfc7ee": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"286c2d1ca656444a9bd1ef11d3e7f349": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "RowModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "RowModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align": null, | |
"align_content": null, | |
"align_content_lg": null, | |
"align_content_md": null, | |
"align_content_sm": null, | |
"align_content_xl": null, | |
"align_lg": null, | |
"align_md": null, | |
"align_sm": null, | |
"align_xl": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_f6c7d8f6355e4f389f8d6f9f05ad8e49" | |
], | |
"class_": "solara-content-main", | |
"dense": null, | |
"justify": null, | |
"justify_lg": null, | |
"justify_md": null, | |
"justify_sm": null, | |
"justify_xl": null, | |
"layout": null, | |
"no_gutters": false, | |
"slot": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"f6c7d8f6355e4f389f8d6f9f05ad8e49": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "ColModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "ColModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align_self": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_f5ea092791e640f09091e7c20f1950a4" | |
], | |
"class_": null, | |
"cols": 12, | |
"layout": null, | |
"lg": null, | |
"md": null, | |
"offset": null, | |
"offset_lg": null, | |
"offset_md": null, | |
"offset_sm": null, | |
"offset_xl": null, | |
"order": null, | |
"order_lg": null, | |
"order_md": null, | |
"order_sm": null, | |
"order_xl": null, | |
"slot": null, | |
"sm": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"xl": null | |
} | |
}, | |
"f5ea092791e640f09091e7c20f1950a4": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_46ef2cd4ae6e44239eb34c51bd2d88b5", | |
"IPY_MODEL_d262f4853c2c4c1db895fdf7879fc020" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px; align-items: center;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"46ef2cd4ae6e44239eb34c51bd2d88b5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "TextFieldModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [ | |
"keyup.enter" | |
], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "TextFieldModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"append_icon": null, | |
"append_outer_icon": null, | |
"attributes": {}, | |
"autofocus": null, | |
"background_color": null, | |
"children": [], | |
"class_": "", | |
"clear_icon": null, | |
"clearable": null, | |
"color": null, | |
"counter": null, | |
"dark": null, | |
"dense": null, | |
"disabled": false, | |
"error": null, | |
"error_count": null, | |
"error_messages": null, | |
"filled": true, | |
"flat": null, | |
"full_width": null, | |
"height": null, | |
"hide_details": true, | |
"hint": null, | |
"id": null, | |
"label": "Type a message...", | |
"layout": null, | |
"light": null, | |
"loader_height": null, | |
"loading": null, | |
"messages": null, | |
"outlined": null, | |
"persistent_hint": null, | |
"placeholder": null, | |
"prefix": null, | |
"prepend_icon": null, | |
"prepend_inner_icon": null, | |
"readonly": null, | |
"reverse": null, | |
"rounded": true, | |
"rules": null, | |
"shaped": null, | |
"single_line": null, | |
"slot": null, | |
"solo": null, | |
"solo_inverted": null, | |
"style_": "flex-grow: 1;", | |
"success": null, | |
"success_messages": null, | |
"suffix": null, | |
"type": null, | |
"v_model": "", | |
"v_on": null, | |
"v_slots": [], | |
"validate_on_blur": null, | |
"value": null | |
} | |
}, | |
"d262f4853c2c4c1db895fdf7879fc020": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "BtnModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [ | |
"click" | |
], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "BtnModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"absolute": null, | |
"active_class": null, | |
"append": null, | |
"attributes": {}, | |
"block": null, | |
"bottom": null, | |
"children": [ | |
"IPY_MODEL_db0828d5043340b9b368d1b6c3b4d971" | |
], | |
"class_": null, | |
"color": "primary", | |
"dark": null, | |
"depressed": null, | |
"disabled": true, | |
"elevation": null, | |
"exact": null, | |
"exact_active_class": null, | |
"fab": null, | |
"fixed": null, | |
"height": null, | |
"href": null, | |
"icon": true, | |
"input_value": null, | |
"large": null, | |
"layout": null, | |
"left": null, | |
"light": null, | |
"link": null, | |
"loading": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"nuxt": null, | |
"outlined": null, | |
"replace": null, | |
"retain_focus_on_click": null, | |
"right": null, | |
"ripple": null, | |
"rounded": null, | |
"slot": null, | |
"small": null, | |
"style_": null, | |
"tag": null, | |
"target": null, | |
"text": null, | |
"tile": null, | |
"to": null, | |
"top": null, | |
"type": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"value": null, | |
"width": null, | |
"x_large": null, | |
"x_small": null | |
} | |
}, | |
"db0828d5043340b9b368d1b6c3b4d971": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "IconModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "IconModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"mdi-send" | |
], | |
"class_": null, | |
"color": null, | |
"dark": null, | |
"dense": null, | |
"disabled": null, | |
"large": null, | |
"layout": null, | |
"left": null, | |
"light": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"small": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"x_large": null, | |
"x_small": null | |
} | |
}, | |
"cf75672de6904ef7a8a8bd1eabda409e": { | |
"model_module": "jupyter-vue", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.11.1", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vue", | |
"_model_module_version": "^1.11.1", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vue", | |
"_view_module_version": "^1.11.1", | |
"_view_name": "VueView", | |
"attributes": {}, | |
"children": [], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": "display: none", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"a55af2431f0a442491754cf5e0a01a96": { | |
"model_module": "@jupyter-widgets/controls", | |
"model_name": "VBoxModel", | |
"model_module_version": "1.5.0", | |
"state": { | |
"_dom_classes": [], | |
"_model_module": "@jupyter-widgets/controls", | |
"_model_module_version": "1.5.0", | |
"_model_name": "VBoxModel", | |
"_view_count": 1, | |
"_view_module": "@jupyter-widgets/controls", | |
"_view_module_version": "1.5.0", | |
"_view_name": "VBoxView", | |
"box_style": "", | |
"children": [ | |
"IPY_MODEL_80fff17051474db284e4ca91f0104e97" | |
], | |
"layout": "IPY_MODEL_b20e46cddcd94d7890d848ed801ccdaa" | |
} | |
}, | |
"72bc2dd528824aa8813782c4aefbc82d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_84f472b007f347f1a73ce8e2dfe6b502" | |
], | |
"class_": null, | |
"layout": null, | |
"slot": null, | |
"style_": null, | |
"tag": "div", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"b20e46cddcd94d7890d848ed801ccdaa": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"84f472b007f347f1a73ce8e2dfe6b502": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "RowModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "RowModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align": null, | |
"align_content": null, | |
"align_content_lg": null, | |
"align_content_md": null, | |
"align_content_sm": null, | |
"align_content_xl": null, | |
"align_lg": null, | |
"align_md": null, | |
"align_sm": null, | |
"align_xl": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_215b59d64e394ad6949462f9d7b019c5" | |
], | |
"class_": "solara-content-main", | |
"dense": null, | |
"justify": null, | |
"justify_lg": null, | |
"justify_md": null, | |
"justify_sm": null, | |
"justify_xl": null, | |
"layout": null, | |
"no_gutters": false, | |
"slot": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"215b59d64e394ad6949462f9d7b019c5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "ColModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "ColModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"align_self": null, | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_751b18a1988c449b8c21f800ca4efb20" | |
], | |
"class_": null, | |
"cols": 12, | |
"layout": null, | |
"lg": null, | |
"md": null, | |
"offset": null, | |
"offset_lg": null, | |
"offset_md": null, | |
"offset_sm": null, | |
"offset_xl": null, | |
"order": null, | |
"order_lg": null, | |
"order_md": null, | |
"order_sm": null, | |
"order_xl": null, | |
"slot": null, | |
"sm": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"xl": null | |
} | |
}, | |
"751b18a1988c449b8c21f800ca4efb20": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_92fdd96d05a24bf68cf9896b1b205283", | |
"IPY_MODEL_20d713f72dd447aba1d241c387ea1ab5" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 12px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"92fdd96d05a24bf68cf9896b1b205283": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_01cd059ee7384f3aa1bc822356b9dbfc", | |
"IPY_MODEL_0ee12588ba494c73ac67b74e8a011a9c", | |
"IPY_MODEL_4a4555d154cb45749a8686a247dedcd6" | |
], | |
"class_": "d-flex ma-0 chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box chat-box", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 12px; flex-grow: 1; flex-direction: column-reverse; overflow-y: auto;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"20d713f72dd447aba1d241c387ea1ab5": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_2e0d0bcb434449d4ba15435bf7050b75", | |
"IPY_MODEL_79b06573123f4e54972159e8ffc35e67" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px; align-items: center;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"2e0d0bcb434449d4ba15435bf7050b75": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "TextFieldModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "TextFieldModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"append_icon": null, | |
"append_outer_icon": null, | |
"attributes": {}, | |
"autofocus": null, | |
"background_color": null, | |
"children": [], | |
"class_": "", | |
"clear_icon": null, | |
"clearable": null, | |
"color": null, | |
"counter": null, | |
"dark": null, | |
"dense": null, | |
"disabled": false, | |
"error": null, | |
"error_count": null, | |
"error_messages": null, | |
"filled": true, | |
"flat": null, | |
"full_width": null, | |
"height": null, | |
"hide_details": true, | |
"hint": null, | |
"id": null, | |
"label": "Type a message...", | |
"layout": null, | |
"light": null, | |
"loader_height": null, | |
"loading": null, | |
"messages": null, | |
"outlined": null, | |
"persistent_hint": null, | |
"placeholder": null, | |
"prefix": null, | |
"prepend_icon": null, | |
"prepend_inner_icon": null, | |
"readonly": null, | |
"reverse": null, | |
"rounded": true, | |
"rules": null, | |
"shaped": null, | |
"single_line": null, | |
"slot": null, | |
"solo": null, | |
"solo_inverted": null, | |
"style_": "flex-grow: 1;", | |
"success": null, | |
"success_messages": null, | |
"suffix": null, | |
"type": null, | |
"v_model": "Hi!", | |
"v_on": null, | |
"v_slots": [], | |
"validate_on_blur": null, | |
"value": null | |
} | |
}, | |
"79b06573123f4e54972159e8ffc35e67": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "BtnModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "BtnModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"absolute": null, | |
"active_class": null, | |
"append": null, | |
"attributes": {}, | |
"block": null, | |
"bottom": null, | |
"children": [ | |
"IPY_MODEL_79fe321c363e42cfbe4fb45356c00b6a" | |
], | |
"class_": null, | |
"color": "primary", | |
"dark": null, | |
"depressed": null, | |
"disabled": false, | |
"elevation": null, | |
"exact": null, | |
"exact_active_class": null, | |
"fab": null, | |
"fixed": null, | |
"height": null, | |
"href": null, | |
"icon": true, | |
"input_value": null, | |
"large": null, | |
"layout": null, | |
"left": null, | |
"light": null, | |
"link": null, | |
"loading": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"nuxt": null, | |
"outlined": null, | |
"replace": null, | |
"retain_focus_on_click": null, | |
"right": null, | |
"ripple": null, | |
"rounded": null, | |
"slot": null, | |
"small": null, | |
"style_": null, | |
"tag": null, | |
"target": null, | |
"text": null, | |
"tile": null, | |
"to": null, | |
"top": null, | |
"type": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"value": null, | |
"width": null, | |
"x_large": null, | |
"x_small": null | |
} | |
}, | |
"79fe321c363e42cfbe4fb45356c00b6a": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "IconModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "IconModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"mdi-send" | |
], | |
"class_": null, | |
"color": null, | |
"dark": null, | |
"dense": null, | |
"disabled": null, | |
"large": null, | |
"layout": null, | |
"left": null, | |
"light": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"small": null, | |
"style_": null, | |
"tag": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"x_large": null, | |
"x_small": null | |
} | |
}, | |
"1c942c9a4cff4661b5a140c2f90177c7": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"081df973c8974c4482d35c72b4e5e347": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_1c942c9a4cff4661b5a140c2f90177c7", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"82adef6c27c549d9b73c4dec5ce6ba65": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"e02084a99a7748298cf28fd9ef12b5a8": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"86b11f37fd6048fcb0fe86c0a98a7956": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_82adef6c27c549d9b73c4dec5ce6ba65", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"3621b3d1bf6443aab394349eaceae38e": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"cf573d8529194f03966a63927cf9dfe4": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_081df973c8974c4482d35c72b4e5e347" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"c2f7d713f4cd49acbaa409f10cce46f0": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_e02084a99a7748298cf28fd9ef12b5a8", | |
"IPY_MODEL_9412c8d9667d41d8aa49ac319fc9117c" | |
], | |
"class_": "d-flex ma-0 chat-message-aaec31bc-18d1-4318-825a-6a6468a8c9ac left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"0754935ee63f4a618539e6e5ad679a0a": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_3621b3d1bf6443aab394349eaceae38e", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-1006c972-d986-4158-8d82-05be34d703d1-49e50b929e15255ec48108714a9966695fa9ac539cd264e3295685af18477797\").remove();\n },\n};\n</script>\n \n<style id=\"1006c972-d986-4158-8d82-05be34d703d1-49e50b929e15255ec48108714a9966695fa9ac539cd264e3295685af18477797\">\n\n .chat-message-aaec31bc-18d1-4318-825a-6a6468a8c9ac{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-aaec31bc-18d1-4318-825a-6a6468a8c9ac.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-aaec31bc-18d1-4318-825a-6a6468a8c9ac.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"027477716aa441fea90f8ab31d8e197c": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"32667f86b44249279aa3a06723517f5b": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"bff17abe0c1841e580eff17fffe25358": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_32667f86b44249279aa3a06723517f5b", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"394753ef344247a58f590e31326e2866": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"1026dfec97dc465d94ff5bb036809ec3": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"9296bd02ef93429387eb2511744490d3": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_394753ef344247a58f590e31326e2866", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"f7b923ddfd364deeb9c58243b5285521": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"2f0de27be0204777bb4b27d3fcd4acd0": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_bff17abe0c1841e580eff17fffe25358" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"7cde9644470b428f8c2fb710631c899b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_1026dfec97dc465d94ff5bb036809ec3", | |
"IPY_MODEL_ac7f9b591ea04ce6bf5c69c794e4cb21" | |
], | |
"class_": "d-flex ma-0 chat-message-3202cb3c-3c5d-4805-a3ac-4850ace9852d left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"a389245ba3c849558d96b4d31269bba1": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_f7b923ddfd364deeb9c58243b5285521", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-14f9a39e-6202-4943-9f7a-5fbb8d499662-35e084ee3b11a8e2778b40fdd3031dbaf223ef105812fd79f25b7c247bf4ba73\").remove();\n },\n};\n</script>\n \n<style id=\"14f9a39e-6202-4943-9f7a-5fbb8d499662-35e084ee3b11a8e2778b40fdd3031dbaf223ef105812fd79f25b7c247bf4ba73\">\n\n .chat-message-3202cb3c-3c5d-4805-a3ac-4850ace9852d{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-3202cb3c-3c5d-4805-a3ac-4850ace9852d.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-3202cb3c-3c5d-4805-a3ac-4850ace9852d.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"64f0f17f3c544c5bab34daabd9006f8d": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"cec8c7792eec4454ae542a33a23f6af0": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_64f0f17f3c544c5bab34daabd9006f8d", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"87391b3095fa4e298bc2176a8bb39c55": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"a3e940216d6d411d8165eeefb2d187b9": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"32d181abfa074f5799ba4485e154a49d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_87391b3095fa4e298bc2176a8bb39c55", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"b1bea3899dbb4a8687dd687e8ff00fb1": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"5729bd2ab6134ba793de888e52045cb1": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_cec8c7792eec4454ae542a33a23f6af0" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"84ecfdf4ddb04f3082eafc371e88a484": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_a3e940216d6d411d8165eeefb2d187b9", | |
"IPY_MODEL_9b6ea4c7a2ab445dab6fc3183208a8d5" | |
], | |
"class_": "d-flex ma-0 chat-message-f2259e9d-f701-48a3-bd87-335a53ffb23d left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"0dcbf75718cf4f3c9b7b370b86b795a6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_b1bea3899dbb4a8687dd687e8ff00fb1", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-e2bcc68d-7b69-4861-9adf-9e8e1d837844-2661491f37241fbbf3ce6eb023c8eb920867da4eda5a62c2499c50f2cbd8e606\").remove();\n },\n};\n</script>\n \n<style id=\"e2bcc68d-7b69-4861-9adf-9e8e1d837844-2661491f37241fbbf3ce6eb023c8eb920867da4eda5a62c2499c50f2cbd8e606\">\n\n .chat-message-f2259e9d-f701-48a3-bd87-335a53ffb23d{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-f2259e9d-f701-48a3-bd87-335a53ffb23d.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-f2259e9d-f701-48a3-bd87-335a53ffb23d.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"bf70551cf8d04ea6bb5ef51b95d73da9": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"716b4152fbf64a1b84677f582f09184e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_bf70551cf8d04ea6bb5ef51b95d73da9", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"c72ae6ca33604f84934a3d49829deeee": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_027477716aa441fea90f8ab31d8e197c", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"bc737b53740b4c3f915a80350677dfb1": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"6dae50ec2ce4435f98628beee1df59ee": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"d1555ea83a6a45ed9969bde7ab2c751d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_bc737b53740b4c3f915a80350677dfb1", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"650f67936b124f5b9ad1835dbd6f9910": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"0a299b2d8fa84b3cb5d4832131d5b602": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_716b4152fbf64a1b84677f582f09184e" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"a3c9a05a4edb46dca847729fa4280b8a": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_6dae50ec2ce4435f98628beee1df59ee", | |
"IPY_MODEL_8232983ad1ce45d596c0f26a935db485" | |
], | |
"class_": "d-flex ma-0 chat-message-598e14d0-6848-4bf7-9cb6-ce490edaf29f left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"e9a34c02d1d74c488ba8785400525556": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_650f67936b124f5b9ad1835dbd6f9910", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-7f5bc0ca-290d-4323-a3eb-0920e33763f4-ac9884f8bad741274ef8f2c1472024e52e5ed0c3d3a491d127aec2b62a7ba641\").remove();\n },\n};\n</script>\n \n<style id=\"7f5bc0ca-290d-4323-a3eb-0920e33763f4-ac9884f8bad741274ef8f2c1472024e52e5ed0c3d3a491d127aec2b62a7ba641\">\n\n .chat-message-598e14d0-6848-4bf7-9cb6-ce490edaf29f{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-598e14d0-6848-4bf7-9cb6-ce490edaf29f.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-598e14d0-6848-4bf7-9cb6-ce490edaf29f.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"ffddfc7987f4480fae94f3e7e0b97d14": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"cb6283e6f97c4844b2c6d9a9ca22293a": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_ffddfc7987f4480fae94f3e7e0b97d14", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"d519ef3d6b8c4399a442cfbd9fce9d94": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"27736334f5f7472498760c0893b1dccb": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"bfb8178be46f44ba97590c9a85c0b45d": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_d519ef3d6b8c4399a442cfbd9fce9d94", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"3e4af8687fed492ea6fcd07d4259a79a": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"39c8ec410bee46d7ab23a32a20a60676": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_cb6283e6f97c4844b2c6d9a9ca22293a" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"4a419e01cf5340edafa74008a3df0038": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_27736334f5f7472498760c0893b1dccb", | |
"IPY_MODEL_bfb8178be46f44ba97590c9a85c0b45d" | |
], | |
"class_": "d-flex ma-0 chat-message-71765ce9-f7be-46b2-852e-162fb49c3fbe left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"b49bfac269ed40c789d1fee591e063a6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_3e4af8687fed492ea6fcd07d4259a79a", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-da183acd-a4cd-447e-b27f-342cbcd4cf23-fa0fd46adcd4d833a3b320e6d0392b64a94d08ba5c320a95ba0ef3730e230917\").remove();\n },\n};\n</script>\n \n<style id=\"da183acd-a4cd-447e-b27f-342cbcd4cf23-fa0fd46adcd4d833a3b320e6d0392b64a94d08ba5c320a95ba0ef3730e230917\">\n\n .chat-message-71765ce9-f7be-46b2-852e-162fb49c3fbe{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-71765ce9-f7be-46b2-852e-162fb49c3fbe.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-71765ce9-f7be-46b2-852e-162fb49c3fbe.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"d745742824f74b4998ac064f2763e529": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"a98ae438d16540c0bca93cc42563b2d0": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_d745742824f74b4998ac064f2763e529", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "A" | |
} | |
}, | |
"acad6b347aac43048cc25bf677c6c935": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"76b55ea52349450d927cf8f3744bc49e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"Assistant" | |
], | |
"class_": "message-name left", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"65596b1519554da797ed7fd64d216675": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_acad6b347aac43048cc25bf677c6c935", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"a1061adfbe5e486eb50243032f396fb0": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"4a6b63e310cb441d8683c9f6647a2196": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_a98ae438d16540c0bca93cc42563b2d0" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"163cd4b05dc34909b25df83712585f9b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_76b55ea52349450d927cf8f3744bc49e", | |
"IPY_MODEL_0557ab0f0cd4423bb92f09c64a093662" | |
], | |
"class_": "d-flex ma-0 chat-message-b3673657-e5df-49ae-a3bd-1e926cd0d347 left", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-left-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"eb08cae3342c48cf9f0d451c31f6f726": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_a1061adfbe5e486eb50243032f396fb0", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-633d4c8f-df19-4bbb-8685-c716be3772d2-471748e33379172efb9a9f04f98798d0baa584625f43c1e7fd583d4ced1c6b19\").remove();\n },\n};\n</script>\n \n<style id=\"633d4c8f-df19-4bbb-8685-c716be3772d2-471748e33379172efb9a9f04f98798d0baa584625f43c1e7fd583d4ced1c6b19\">\n\n .chat-message-b3673657-e5df-49ae-a3bd-1e926cd0d347{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-b3673657-e5df-49ae-a3bd-1e926cd0d347.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-b3673657-e5df-49ae-a3bd-1e926cd0d347.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"01cd059ee7384f3aa1bc822356b9dbfc": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_39c8ec410bee46d7ab23a32a20a60676", | |
"IPY_MODEL_4a419e01cf5340edafa74008a3df0038", | |
"IPY_MODEL_b49bfac269ed40c789d1fee591e063a6" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"0ee12588ba494c73ac67b74e8a011a9c": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_4a6b63e310cb441d8683c9f6647a2196", | |
"IPY_MODEL_163cd4b05dc34909b25df83712585f9b", | |
"IPY_MODEL_eb08cae3342c48cf9f0d451c31f6f726" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: start; column-gap: 12px;flex-direction:row;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"df6758af83054a0ebc3c960d098f901e": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"0557ab0f0cd4423bb92f09c64a093662": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_df6758af83054a0ebc3c960d098f901e", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"e965200c16c54e4db13d74e2fbf20091": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"ac7f9b591ea04ce6bf5c69c794e4cb21": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_e965200c16c54e4db13d74e2fbf20091", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"4e2718a9b8d1483580ac1efe288b5f1b": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"ec9695e8c84f47a98f636a82685ba075": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"145962e690554ef691d725e58b6fee2e": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_ec9695e8c84f47a98f636a82685ba075", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"160d9d5a5d674d4da65bffb5741ba31b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_4e2718a9b8d1483580ac1efe288b5f1b", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"10b25a1644ce4ca5baab59eb751101bf": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"355e73ac11b94dea889825d3e1d0d358": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"2964cb97dcd84be4af4a393981e37308": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"cfa084967e744e48a76ae191519edf66": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_355e73ac11b94dea889825d3e1d0d358", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"707b5ced322f410f92e339cf172fed21": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"bd858c0dca0b479bbed2bb8beb3aceef": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"b213b4683948420193b9af7477ef3844": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_10b25a1644ce4ca5baab59eb751101bf", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"1f043e1117d34c56a06e61dfb2741ba6": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"dea729e7d6c94d808a4428bcc0b0331b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_145962e690554ef691d725e58b6fee2e" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"160852ddc73445aa9de9adafe9a4c82f": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_bd858c0dca0b479bbed2bb8beb3aceef", | |
"IPY_MODEL_b213b4683948420193b9af7477ef3844" | |
], | |
"class_": "d-flex ma-0 chat-message-3d085568-2a25-4995-9722-2ca54c053270 right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"850bce75dd394326a83b6c358b6f98b6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_1f043e1117d34c56a06e61dfb2741ba6", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-35bfc098-b828-4634-8fec-8b85d18e5f67-c2e2f95334184a82648b16d565617e6305ab83cab0bcf9ec55f302e501e87ef1\").remove();\n },\n};\n</script>\n \n<style id=\"35bfc098-b828-4634-8fec-8b85d18e5f67-c2e2f95334184a82648b16d565617e6305ab83cab0bcf9ec55f302e501e87ef1\">\n\n .chat-message-3d085568-2a25-4995-9722-2ca54c053270{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-3d085568-2a25-4995-9722-2ca54c053270.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-3d085568-2a25-4995-9722-2ca54c053270.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"a2e0849fad4f4ca2b77c4af678116b3c": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_160d9d5a5d674d4da65bffb5741ba31b" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"01eb65642e66464cb831a030da667834": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_2964cb97dcd84be4af4a393981e37308", | |
"IPY_MODEL_cfa084967e744e48a76ae191519edf66" | |
], | |
"class_": "d-flex ma-0 chat-message-49138265-6974-4d62-a47b-c1762c59ae6b right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"7f3c69042123414cbf442d5d549174b7": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_707b5ced322f410f92e339cf172fed21", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-263475c2-e9c3-4ef8-9935-807e3b4164f8-67b5a9b9781b98a2d69ac5829a4947a14cc7563fd97ce1f2816c76fbe916bb9c\").remove();\n },\n};\n</script>\n \n<style id=\"263475c2-e9c3-4ef8-9935-807e3b4164f8-67b5a9b9781b98a2d69ac5829a4947a14cc7563fd97ce1f2816c76fbe916bb9c\">\n\n .chat-message-49138265-6974-4d62-a47b-c1762c59ae6b{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-49138265-6974-4d62-a47b-c1762c59ae6b.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-49138265-6974-4d62-a47b-c1762c59ae6b.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"4a4555d154cb45749a8686a247dedcd6": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_a2e0849fad4f4ca2b77c4af678116b3c", | |
"IPY_MODEL_01eb65642e66464cb831a030da667834", | |
"IPY_MODEL_7f3c69042123414cbf442d5d549174b7" | |
], | |
"class_": "d-flex ma-0", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: row; align-items: stretch; justify-content: end; column-gap: 12px;flex-direction:row-reverse;padding:5px;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"6e1ca77f73334969995b25a701c2ef4f": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"8232983ad1ce45d596c0f26a935db485": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_6e1ca77f73334969995b25a701c2ef4f", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"86d71683d20347e6b1d520e680a8f707": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"133ae25457614530bd157065d3453e62": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": { | |
"class": "headline" | |
}, | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_86d71683d20347e6b1d520e680a8f707", | |
"methods": null, | |
"tag": "span", | |
"template": "IPY_MODEL_cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"unsafe_innerHTML": "U" | |
} | |
}, | |
"e1af797f98f64ecabced19ff56a0dc66": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"fae6615dd6094e5ea40d1cbb8db99c84": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "HtmlModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "HtmlModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"User" | |
], | |
"class_": "message-name right", | |
"layout": null, | |
"slot": null, | |
"style_": "font-weight: bold;", | |
"tag": "span", | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [] | |
} | |
}, | |
"c35cb0222f274dafbb669682a1c58228": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_e1af797f98f64ecabced19ff56a0dc66", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hi!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"a08af2fba9f74132a47a241012fcdb7b": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"23339716d7e349e2889f432cf908190b": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "AvatarModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "AvatarModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_133ae25457614530bd157065d3453e62" | |
], | |
"class_": null, | |
"color": "rgba(0,0,0,.06)", | |
"height": null, | |
"layout": null, | |
"left": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"right": null, | |
"size": null, | |
"slot": null, | |
"style_": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"f26290aaa83d4931be921f079ac1f2cb": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "SheetModel", | |
"model_module_version": "^1.8.5", | |
"state": { | |
"_dom_classes": [], | |
"_events": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_metadata": null, | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.8.5", | |
"_model_name": "SheetModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.8.5", | |
"_view_name": "VuetifyView", | |
"attributes": {}, | |
"children": [ | |
"IPY_MODEL_fae6615dd6094e5ea40d1cbb8db99c84", | |
"IPY_MODEL_c35cb0222f274dafbb669682a1c58228" | |
], | |
"class_": "d-flex ma-0 chat-message-645df1bf-4e6b-4963-b0af-9e3073d640a0 right", | |
"color": null, | |
"dark": null, | |
"elevation": 0, | |
"height": null, | |
"layout": null, | |
"light": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"slot": null, | |
"style_": "flex-direction: column; align-items: stretch; row-gap: 0; border-radius: ; border-top-right-radius: 0; padding: .5em 1.5em;;", | |
"tag": null, | |
"tile": null, | |
"v_model": "!!disabled!!", | |
"v_on": null, | |
"v_slots": [], | |
"width": null | |
} | |
}, | |
"3c1a45e9e56a4489854bb80b6d69adb3": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_a08af2fba9f74132a47a241012fcdb7b", | |
"methods": null, | |
"template": "\n<template>\n <span style=\"display: none\">\n </span>\n</template>\n\n<script>\nmodule.exports = {\n destroyed() {\n document.getElementById(\"ipyvue-6082885a-91f1-4dd2-8584-2101b814eb8a-621b7d250225716f836ef03506d09ced620e87fafdf5a8656cf765a2caa50908\").remove();\n },\n};\n</script>\n \n<style id=\"6082885a-91f1-4dd2-8584-2101b814eb8a-621b7d250225716f836ef03506d09ced620e87fafdf5a8656cf765a2caa50908\">\n\n .chat-message-645df1bf-4e6b-4963-b0af-9e3073d640a0{\n --color: rgba(0,0,0,.06);\n max-width: 75%;\n position: relative;\n }\n .chat-message-645df1bf-4e6b-4963-b0af-9e3073d640a0.left{\n border-top-left-radius: 0;\n background-color:var(--color);\n \n }\n .chat-message-645df1bf-4e6b-4963-b0af-9e3073d640a0.right{\n border-top-right-radius: 0;\n background-color:var(--color);\n \n }\n \n \n</style>\n " | |
} | |
}, | |
"c749d289d2a042e8934df44c6b5a178b": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"3458c4a468a54a1fa674d4a21fe38844": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_c749d289d2a042e8934df44c6b5a178b", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"9463775115974d51b5bcd7153ab047c6": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"4e7e9231eaf647ddb82738ca9cacc5dd": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_9463775115974d51b5bcd7153ab047c6", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"976f83eb6694425f8a52060b7acfd243": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"6ecb34cc5efb45d28ebc7b04bacd881e": { | |
"model_module": "@jupyter-widgets/base", | |
"model_name": "LayoutModel", | |
"model_module_version": "1.2.0", | |
"state": { | |
"_model_module": "@jupyter-widgets/base", | |
"_model_module_version": "1.2.0", | |
"_model_name": "LayoutModel", | |
"_view_count": null, | |
"_view_module": "@jupyter-widgets/base", | |
"_view_module_version": "1.2.0", | |
"_view_name": "LayoutView", | |
"align_content": null, | |
"align_items": null, | |
"align_self": null, | |
"border": null, | |
"bottom": null, | |
"display": null, | |
"flex": null, | |
"flex_flow": null, | |
"grid_area": null, | |
"grid_auto_columns": null, | |
"grid_auto_flow": null, | |
"grid_auto_rows": null, | |
"grid_column": null, | |
"grid_gap": null, | |
"grid_row": null, | |
"grid_template_areas": null, | |
"grid_template_columns": null, | |
"grid_template_rows": null, | |
"height": null, | |
"justify_content": null, | |
"justify_items": null, | |
"left": null, | |
"margin": null, | |
"max_height": null, | |
"max_width": null, | |
"min_height": null, | |
"min_width": null, | |
"object_fit": null, | |
"object_position": null, | |
"order": null, | |
"overflow": null, | |
"overflow_x": null, | |
"overflow_y": null, | |
"padding": null, | |
"right": null, | |
"top": null, | |
"visibility": null, | |
"width": null | |
} | |
}, | |
"7da01d162a4a4872a951aa3e64f83048": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_976f83eb6694425f8a52060b7acfd243", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
}, | |
"916fd835324745caaea77305f65963ea": { | |
"model_module": "jupyter-vuetify", | |
"model_name": "VuetifyTemplateModel", | |
"model_module_version": "^1.10.0", | |
"state": { | |
"_component_instances": [], | |
"_dom_classes": [], | |
"_jupyter_vue": "IPY_MODEL_a84a0e5036b047ddbe18a6684dd26694", | |
"_model_module": "jupyter-vuetify", | |
"_model_module_version": "^1.10.0", | |
"_model_name": "VuetifyTemplateModel", | |
"_view_count": null, | |
"_view_module": "jupyter-vuetify", | |
"_view_module_version": "^1.10.0", | |
"_view_name": "VuetifyView", | |
"components": null, | |
"css": null, | |
"data": null, | |
"events": [], | |
"layout": "IPY_MODEL_6ecb34cc5efb45d28ebc7b04bacd881e", | |
"methods": null, | |
"template": "\n<template>\n <div class=\"solara-markdown rendered_html jp-RenderedHTMLCommon\" style=\"\"><p>Hello!</p></div>\n</template>\n\n<script>\nmodule.exports = {\n async mounted() {\n this.cdn = 'https://cdn.jsdelivr.net/npm/';\n await this.loadRequire();\n this.mermaid = await this.loadMermaid();\n this.mermaid.init();\n this.latexSettings = {\n delimiters: [\n {left: \"$$\", right: \"$$\", display: true},\n {left: \"$\", right: \"$\", display: false},\n {left: \"\\\\[\", right: \"\\\\]\", display: true},\n {left: \"\\\\(\", right: \"\\\\)\", display: false}\n ]\n };\n if (window.renderMathInElement) {\n window.renderMathInElement(this.$el, this.latexSettings);\n } else if (window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement = await this.loadKatexExt();\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n this.$el.querySelectorAll(\"a\").forEach(a => this.setupRouter(a))\n window.md = this.$el\n },\n methods: {\n setupRouter(a) {\n let href = a.attributes['href'].value;\n if(href.startsWith(\"./\")) {\n // TODO: should we really do this?\n href = location.pathname + href.substr(1);\n a.attributes['href'].href = href;\n }\n let authLink = href.startsWith(\"/_solara/auth/\");\n if( (href.startsWith(\"./\") || href.startsWith(\"/\")) && !authLink) {\n a.onclick = e => {\n console.log(\"clicked\", href)\n if(href.startsWith(\"./\")) {\n solara.router.push(href);\n } else {\n solara.router.push(href);\n }\n e.preventDefault()\n }\n } else if(href.startsWith(\"#\")) {\n href = location.pathname + href;\n a.attributes['href'].value = href;\n } else {\n console.log(\"href\", href, \"is not a local link\")\n }\n },\n async loadKatex() {\n require.config({\n map: {\n '*': {\n 'katex': `${this.getCdn()}/[email protected]/dist/katex.min.js`,\n }\n }\n });\n const link = document.createElement('link');\n link.type = \"text/css\";\n link.rel = \"stylesheet\";\n link.href = `${this.getCdn()}/[email protected]/dist/katex.min.css`;\n document.head.appendChild(link);\n },\n async loadKatexExt() {\n this.loadKatex();\n return (await this.import([`${this.getCdn()}/[email protected]/dist/contrib/auto-render.min.js`]))[0]\n },\n async loadMermaid() {\n return (await this.import([`${this.getCdn()}/[email protected]/dist/mermaid.min.js`]))[0]\n },\n import(dependencies) {\n return this.loadRequire().then(\n () => {\n if (window.jupyterVue) {\n // in jupyterlab, we take Vue from ipyvue/jupyterVue\n define(\"vue\", [], () => window.jupyterVue.Vue);\n } else {\n define(\"vue\", ['jupyter-vue'], jupyterVue => jupyterVue.Vue);\n }\n return new Promise((resolve, reject) => {\n requirejs(dependencies, (...modules) => resolve(modules));\n })\n }\n );\n },\n loadRequire() {\n if (window.requirejs) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = `${this.getCdn()}/[email protected]/require.min.js`;\n script.onload = resolve;\n script.onerror = reject;\n document.head.appendChild(script);\n });\n },\n getJupyterBaseUrl() {\n // if base url is set, we use ./ for relative paths compared to the base url\n if (document.getElementsByTagName(\"base\").length) {\n return \"./\";\n }\n const labConfigData = document.getElementById('jupyter-config-data');\n if (labConfigData) {\n /* lab and Voila */\n return JSON.parse(labConfigData.textContent).baseUrl;\n }\n let base = document.body.dataset.baseUrl || document.baseURI;\n if (!base.endsWith('/')) {\n base += '/';\n }\n return base\n },\n getCdn() {\n return this.cdn || (window.solara ? window.solara.cdn : `${this.getJupyterBaseUrl()}_solara/cdn`);\n }\n },\n updated() {\n // if the html gets update, re-run mermaid\n this.mermaid.init();\n\n if(window.MathJax && MathJax.Hub) {\n MathJax.Hub.Queue(['Typeset', MathJax.Hub, this.$el]);\n } else {\n window.renderMathInElement(this.$el, this.latexSettings);\n }\n }\n}\n</script>\n " | |
} | |
} | |
} | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/alonsosilvaallende/4f2ab1647ed12dd6162565cd73f8b930/solara-mistral-chat-interface.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## Chat Interface\n", | |
"\n", | |
"Let's implement a simple chat interface. To do this, we need to install `solara` and `mistralai` libraries. This demo uses `solara===1.41.0` and `mistralai===1.1.0`" | |
], | |
"metadata": { | |
"id": "i-CFACIiwg1D" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"id": "Un_POTbivxK0" | |
}, | |
"outputs": [], | |
"source": [ | |
"%pip install --quiet solara==1.41.0 mistralai==1.1.0" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Create your `Mistral` client instance using your Mistral API key stored in your Colab Secrets." | |
], | |
"metadata": { | |
"id": "gYGloWOwxFWt" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from mistralai import Mistral\n", | |
"from google.colab import userdata\n", | |
"\n", | |
"MISTRAL_API_KEY = userdata.get('MISTRAL_API_KEY')\n", | |
"client = Mistral(api_key=MISTRAL_API_KEY)" | |
], | |
"metadata": { | |
"id": "qWkT9Yvyw1lt" | |
}, | |
"execution_count": 2, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Let's initialize a reactive variable `messages` where all the messages will be stored." | |
], | |
"metadata": { | |
"id": "e8vik-8V8AYM" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import solara as sl\n", | |
"from typing import List\n", | |
"from typing_extensions import TypedDict\n", | |
"\n", | |
"class MessageDict(TypedDict):\n", | |
" role: str\n", | |
" content: str\n", | |
"\n", | |
"messages: sl.Reactive[List[MessageDict]] = sl.reactive([])" | |
], | |
"metadata": { | |
"id": "eMuQcO2DxWbT" | |
}, | |
"execution_count": 3, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Initially, the value of the reactive variable `messages` is an empty list." | |
], | |
"metadata": { | |
"id": "SEXhqMOB8Jmj" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "gf79os5b3Ke2", | |
"outputId": "f9d78f81-0906-4d5a-d18e-6f696504f8e9" | |
}, | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 4 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Let's add some messages to see how to display them. For example:" | |
], | |
"metadata": { | |
"id": "x5dV-v4rHRNI" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = [\n", | |
" {\"role\": \"user\", \"content\": \"Hello!\"},\n", | |
" {\"role\": \"assistant\", \"content\": \"Hello! How can I assist you today?\"},\n", | |
" ]" | |
], | |
"metadata": { | |
"id": "7ytP8EUiHZtg" | |
}, | |
"execution_count": 5, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Given a list of messages, we will display them as follows." | |
], | |
"metadata": { | |
"id": "WoBIFVU2G_9g" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"@sl.component\n", | |
"def Page():\n", | |
" with sl.lab.ChatBox():\n", | |
" for item in messages.value:\n", | |
" with sl.lab.ChatMessage(\n", | |
" user=item[\"role\"] == \"user\",\n", | |
" name=\"User\" if item[\"role\"] == \"user\" else \"Assistant\"\n", | |
" ):\n", | |
" sl.Markdown(item[\"content\"])\n", | |
"Page()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 193, | |
"referenced_widgets": [ | |
"8566f21ebbad419b9684b4bdaf24aa14", | |
"cd787c0e5208424ba5ed73f4a48b4cfa", | |
"9f3c73add20f4e268222e8ec9ad4d90f", | |
"cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"c0f1620c45664bea919771dc913a3888", | |
"e30917e84ea041108e81785210c937a0", | |
"77df89a2055245c8b87b96a8dc4e9625", | |
"93897c7805ea483eb4cd9ce15b9a1b88", | |
"d53ad0c0d6c544c085c6bf281b536a30", | |
"7fca4d3e7c744f68a804c4ea6506c71b", | |
"503a62e4e6bc42b3a2f2a7972ef9e26b", | |
"042a35452fe246ed8a8c0b02eaaa0769", | |
"27646a07dc2a4cf9828e29bcc8c0e5e9", | |
"22cdbcac882f45ad8a0220163a9e97ce", | |
"6de321d107c94f4a943a6f6c6ec4c122", | |
"decbee8531424e1ea2271dbb515eb50d", | |
"638557cc2ed74dff8a91c9d6a78eb5cd", | |
"5b80b823c94e4ddb8105a662dbd13296", | |
"d2c62c97d1a34bbd81adba0a6d442fe4", | |
"fcabf75c07994c6280c1d5804d986298", | |
"ffc2af9bac9f4cfea7af2db001158bdc", | |
"82a63ac6a6254b7ba24850088d184b26", | |
"72740b725fcf4165babc519943a0f0c2", | |
"6ce1775a46244a24b6483e0d586dcb7d", | |
"75a173daabb64f1c9675721a970f7882", | |
"ada3621e74034a94975d07f8f236e8a5", | |
"bef160e1c7414930a4cedba5f3d8267f", | |
"240acb1d17d842c88d578a0937156ed9", | |
"88a96ca648254928b835949c1590e03b", | |
"23559be915eb4de6b9c5531f1a313af9", | |
"1ff99c3189094a3b8a7fe3f5b6254f68", | |
"a9da24e0a444459396f7c09f68298a33", | |
"d2cf9695bf524d6a8c29e1209edd870d", | |
"103ef898135e4162a4c09d2923648008", | |
"095b296f925b4870a8d81e90cdea2d3d", | |
"e95f4194610a43c7bb628e5067d06c3b", | |
"d4a0871d967c407991c06246b1372ecb", | |
"4053f1f9894e4c79931b44117e4eb0bd", | |
"cbbb48379d1a410ab75cf359c5ac4187", | |
"ac61359461e7402da57bbeb925a9bf9b", | |
"af553f2887444389b3845bf3ed261861", | |
"c4f7f15f525d49f3829ded1ec91b41be", | |
"c235ca26956744adbd1581bb66cb91c5", | |
"79dbc206c82f4e8f9d5b9dc9b4647fa8", | |
"33a62ee93a9447f7b1ddb85568fca7b6", | |
"e1d545216c46483e888595001758d140", | |
"0db40f2d0027485f994057aea22d4c5f", | |
"029e2d0d370e47e49382d042486843cf", | |
"3d9c9799ee0a454e82bd7c71e130c73e", | |
"0c25afeba48d4943a2a49f26927c0a3a", | |
"095c0e104fff4aa7810a4dd674ebf066", | |
"aed83099b1324b57ab6007414e48f787", | |
"f28def656c954c7b9c7f20b4cb0c0094", | |
"7685a5c421ef499ba34f6b8a50091652", | |
"e90d311f5afa40b5b5f6ccd24bee8009", | |
"444dfccf84fd4ed096f5faa20420f271", | |
"77feed005b9b442d992cc0fb4dd798c4", | |
"de1efe0979ea4482a8822b91070c4af5", | |
"d6a6fee53cae498fb6b8f488b7e6fd14", | |
"3c9ce8a875604c87b8e301401e6dd8ac", | |
"49ffa4b98eae43e08c6f5c0520850762", | |
"fe158d7e27ca40a69bf05c9fd30da9b3", | |
"74042a5d5fb446a18e1902359b7954c5", | |
"4ffb086cf7484f30b65d4f0223de238c", | |
"2d221abf10084eb3a5303651fd0fba02", | |
"b9adbe4e67ee4500acc5f7fb27f36af4", | |
"8607d4e9cbae44908b902a7f0a4cbd94", | |
"cd0f65de069f4e26afa571fdcba84a98", | |
"7be44d12b54f4b5c87c3bb988b598097", | |
"5aba79eec49c4708b52931fdcce508ae", | |
"df6ae095beb74ba7a930dd66818a0823", | |
"0f4a803e85b54e1887b3f674a99910b7", | |
"dc5f4ed28345445994775293bab0d18e", | |
"e8201bca6842477d8331807f05f56d2c", | |
"aa77d298e432462bb4c9ec74a42257e9", | |
"08520e6a12d741b7ab35bb3a3c4c148d", | |
"7ad29b73ce46429da60e2323f10597c3", | |
"99fdf60dbe544921a622a92e1ffbd0ea", | |
"9a851d01085e43d5b15e47b912ffcada", | |
"53a032127fc64bd38e715653bd682f39", | |
"d6d92fa3b223420fb0c8dfaf49b34e94", | |
"677bcb7959ee4c0a98511ee4a87cd50a", | |
"889825ecabe749b68a22827524e7cba6", | |
"2948eccf56fb476db7c1eed2ea57be5d", | |
"eb00be48118f404b818bb9533fa81534", | |
"31d7ea1a5a514572876a0c827f06d021", | |
"3d9a51cd9de64262b66cab791072fd53", | |
"520160bb0c9847c7b790ba0d8bc848cd", | |
"d44c1514b01146b0ac381e8f493c6eca", | |
"509792605c5e4546b1d777960166be47", | |
"9953744416dc4b79a64608964a9cf429", | |
"92f8b0ef39c74c09b2cefd6da19bcee2", | |
"75d7d298180d42a1bfb4154a02dfa167", | |
"c74e786f6a5f42b388d0e35caef2f0cf", | |
"d32e56b4df4f4c79b679ca4a14266199", | |
"c844d000d4fb403c8936ac55a94e4816", | |
"cad5e960753b4ade841d62aef5de0303", | |
"9f1d1d53da1342b5ae6f81ac3a384b9f", | |
"57fb52d6caf84affb33f155b45dbb309", | |
"27366af528fd4a52a0ffab096fbd176e", | |
"57b550e16efd455b8a58d4627d0e826f", | |
"2c667b986cf34cc0ac07b1b964b22b16", | |
"63026a67ddfa4825afb59b3470e394e8", | |
"e904a0c8c5b04576baabf80a113cbaf7", | |
"16dd566d4b094514bb59141c9c31b777", | |
"886f8c2dfb1540eeb25d8e20bde4a2fa", | |
"5946b960f3e344808bf31ad55d861bfd", | |
"783a59b91da342839a610f5a363d1c5c", | |
"886f3db327a44d17a77f82e873643e6e", | |
"c5d93460c4b640629c65cc714ea879ac", | |
"38cf67b442174906a996d0ac4a58f802", | |
"6e9212836f5d4a1fbb0b68e9fcde4a54", | |
"0c4ef41728a3460da07ad8a960e06e4a", | |
"5464fbf3ea7e4d9d8fbbcd5d80424d77", | |
"88de8e2b9bd34c5db3c58f95f5e5e3df", | |
"cfc7c93e0c694dff8ab231c780ad9243", | |
"348f0517528a4a3a9f1eca93c197340a", | |
"97089d6327e84677b5e52fa6042cf3f9", | |
"9cb8a27eeef945fe9e7e6809a603ddff", | |
"d3f203aa6e8141c48eb69f5b6db06f92", | |
"c34fa8314ebe4408a0046fa218185da8", | |
"c9d9a56c362c4595bd5b764f5a15eac1", | |
"dbc2ca823c784305a1b6ec90dcce0d84", | |
"a473a23269ca4efa9398b608f50dd28d", | |
"c5dbf64667fe419799bf6d881c615940", | |
"b8522725140444a88a7fd6d62bfaad04", | |
"7161c663967447739096a37c392e7d41", | |
"43a3e72b93574ed78662893d76b79ba0", | |
"fe4c22202d4d495faf564565eeb1b3cb", | |
"92d048d84bc348e08e8d9aa0d7e19c13", | |
"51684010ae8f4acf8a0cd23a7be16589", | |
"00a3792c0bab429db485bcde05bbe19d", | |
"b10238c1257840d7abc539ee7a9cfc25", | |
"a46272bd0865454d9ed83e4880b648d2" | |
] | |
}, | |
"id": "V6gSs0tpHBuA", | |
"outputId": "c12cd88a-430b-42cf-92ef-f561e802413e" | |
}, | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Html(layout=None, style_='display: none', tag='span')" | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "8566f21ebbad419b9684b4bdaf24aa14" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Cannot show ipywidgets in text" | |
], | |
"text/html": [ | |
"Cannot show widget. You probably want to rerun the code cell above (<i>Click in the code cell, and press Shift+Enter <kbd>⇧</kbd>+<kbd>↩</kbd></i>)." | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "240acb1d17d842c88d578a0937156ed9" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Given a list of messages where the last one is a user message, we query a Mistral model and retrieve the response. To make the interaction smooth, we handle it by streaming the response. For this, we define a generator." | |
], | |
"metadata": { | |
"id": "2dHNngad8esw" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def response_generator(messages):\n", | |
" response = client.chat.stream(model=\"open-mistral-7b\", messages=messages, max_tokens=1024, random_seed=12)\n", | |
" for chunk in response:\n", | |
" yield chunk.data.choices[0].delta.content" | |
], | |
"metadata": { | |
"id": "YaH60K8qxzpZ" | |
}, | |
"execution_count": 7, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"To test our generator, let's add a user message to our list of messages." | |
], | |
"metadata": { | |
"id": "dXWAqMRn8qgw" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = [{\"role\": \"user\", \"content\": \"Hi!\"}]\n", | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 35 | |
}, | |
"id": "80Rdihsk3XaK", | |
"outputId": "8846d3dd-b846-42d0-9ee8-18705e143fc9" | |
}, | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[{'role': 'user', 'content': 'Hi!'}]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 8 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Now, let's test that the generator is working." | |
], | |
"metadata": { | |
"id": "TObeONZR9Imr" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"for chunk in response_generator(messages.value):\n", | |
" print(chunk)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "XlltoZaG3Oi0", | |
"outputId": "a1c9271e-0212-4071-da38-6082251a70e7" | |
}, | |
"execution_count": 9, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"\n", | |
"Hello\n", | |
"!\n", | |
" How\n", | |
" can\n", | |
" I\n", | |
" help\n", | |
" you\n", | |
" today\n", | |
"?\n", | |
" \n", | |
"😊\n", | |
"\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Let's empty again our list of messages." | |
], | |
"metadata": { | |
"id": "yHAPpPRvDQBD" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = []" | |
], | |
"metadata": { | |
"id": "BQ_iLw7yDMI-" | |
}, | |
"execution_count": 10, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"The following step is to retrieve the input from the user and store it in the list of messages. For this, we will use `ChatInput` from `solara`. Write a message, for example \"Hi!\"." | |
], | |
"metadata": { | |
"id": "iYkZgFlyBRLM" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def send(user_message):\n", | |
" messages.value = [*messages.value, {\"role\": \"user\", \"content\": user_message}]\n", | |
"sl.lab.ChatInput(send_callback=send)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 97, | |
"referenced_widgets": [ | |
"037a6bdfc810497eb4476bf7f3040540", | |
"a6cfd53202d84e188396052de7cd0316", | |
"ef089534e541419db6ee045a31f0b5c3", | |
"91e4d78e4d3e41a4b62df4803fcfc7ee", | |
"286c2d1ca656444a9bd1ef11d3e7f349", | |
"f6c7d8f6355e4f389f8d6f9f05ad8e49", | |
"f5ea092791e640f09091e7c20f1950a4", | |
"46ef2cd4ae6e44239eb34c51bd2d88b5", | |
"d262f4853c2c4c1db895fdf7879fc020", | |
"db0828d5043340b9b368d1b6c3b4d971" | |
] | |
}, | |
"id": "0nFXcWF3BbTN", | |
"outputId": "8ec73e19-1ce3-4082-b01e-c64cb7db85b9" | |
}, | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Html(layout=None, style_='display: none', tag='span')" | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "037a6bdfc810497eb4476bf7f3040540" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Cannot show ipywidgets in text" | |
], | |
"text/html": [ | |
"Cannot show widget. You probably want to rerun the code cell above (<i>Click in the code cell, and press Shift+Enter <kbd>⇧</kbd>+<kbd>↩</kbd></i>)." | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "a6cfd53202d84e188396052de7cd0316" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"The messages variable should contain your input." | |
], | |
"metadata": { | |
"id": "9PFZmMnQC9qU" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "cFa8_vIg4LPt", | |
"outputId": "64fb4dd6-a0f9-43bf-c69f-2965829516f2" | |
}, | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 12 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = [{'role': 'user', 'content': 'Hi!'}] # In case you are running all the notebook at once" | |
], | |
"metadata": { | |
"id": "De0BN71dnDnm" | |
}, | |
"execution_count": 13, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Notice that we want to stream the response by displaying each chunk as it is received. To achieve that, we will add each chunk as it is received to the list of messages." | |
], | |
"metadata": { | |
"id": "aY670AZn9a2K" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def add_chunk_to_ai_message(chunk: str):\n", | |
" messages.value = [\n", | |
" *messages.value[:-1],\n", | |
" {\n", | |
" \"role\": \"assistant\",\n", | |
" \"content\": messages.value[-1][\"content\"] + chunk,\n", | |
" },\n", | |
" ]" | |
], | |
"metadata": { | |
"id": "ZlUKS8Uoydlf" | |
}, | |
"execution_count": 14, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Let's test that the `add_chunk_to_ai_message` is working." | |
], | |
"metadata": { | |
"id": "D8_UEruP-CfL" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = [{\"role\": \"user\", \"content\": \"Hi!\"}]\n", | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "b0S9afLONVKr", | |
"outputId": "08132553-81a0-437a-90ca-eaa51ea46278" | |
}, | |
"execution_count": 15, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[{'role': 'user', 'content': 'Hi!'}]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 15 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = [*messages.value, {\"role\": \"assistant\", \"content\": \"\"}]\n", | |
"for chunk in response_generator([{'role': 'user', 'content': 'Hi!'}]):\n", | |
" add_chunk_to_ai_message(chunk)\n", | |
" print(messages.value)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 253 | |
}, | |
"id": "vhZ396762-pv", | |
"outputId": "37c1d923-b719-43f1-f7ef-57dc6c4af4d7" | |
}, | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': ''}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello!'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you today'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you today?'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you today? '}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you today? 😊'}]\n", | |
"[{'role': 'user', 'content': 'Hi!'}, {'role': 'assistant', 'content': 'Hello! How can I help you today? 😊'}]\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"The messages variable contains the response" | |
], | |
"metadata": { | |
"id": "qOOK2YW2lqwt" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Xx2vfpINlwnY", | |
"outputId": "aea994ce-65af-4b95-b86a-342d3288a8b9" | |
}, | |
"execution_count": 17, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[{'role': 'user', 'content': 'Hi!'},\n", | |
" {'role': 'assistant', 'content': 'Hello! How can I help you today? 😊'}]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 17 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"We now create a task which will be activated by a change on the number of user messages." | |
], | |
"metadata": { | |
"id": "wCg-VABGD17u" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value = []" | |
], | |
"metadata": { | |
"id": "3T35-SXnJMC7" | |
}, | |
"execution_count": 28, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# import nest_asyncio\n", | |
"# nest_asyncio.apply()" | |
], | |
"metadata": { | |
"id": "etwXsoJdMvaI" | |
}, | |
"execution_count": 29, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"@sl.component\n", | |
"def Page():\n", | |
" user_message_count = len([m for m in messages.value if m[\"role\"] == \"user\"])\n", | |
" def send(user_message):\n", | |
" messages.value = [*messages.value, {\"role\": \"user\", \"content\": user_message}]\n", | |
" def response(messages):\n", | |
" messages.value = [*messages.value, {\"role\": \"assistant\", \"content\": \"\"}]\n", | |
" for chunk in response_generator(messages.value[:-1]):\n", | |
" add_chunk_to_ai_message(chunk)\n", | |
" def result():\n", | |
" if messages.value != []:\n", | |
" response(messages)\n", | |
" result = sl.lab.use_task(result, dependencies=[user_message_count])\n", | |
" with sl.lab.ChatBox():\n", | |
" for item in messages.value:\n", | |
" with sl.lab.ChatMessage(\n", | |
" user=item[\"role\"] == \"user\",\n", | |
" name=\"User\" if item[\"role\"] == \"user\" else \"Assistant\"\n", | |
" ):\n", | |
" sl.Markdown(item[\"content\"])\n", | |
" sl.lab.ChatInput(send_callback=send)\n", | |
"Page()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 331, | |
"referenced_widgets": [ | |
"cf75672de6904ef7a8a8bd1eabda409e", | |
"a55af2431f0a442491754cf5e0a01a96", | |
"72bc2dd528824aa8813782c4aefbc82d", | |
"b20e46cddcd94d7890d848ed801ccdaa", | |
"84f472b007f347f1a73ce8e2dfe6b502", | |
"215b59d64e394ad6949462f9d7b019c5", | |
"751b18a1988c449b8c21f800ca4efb20", | |
"92fdd96d05a24bf68cf9896b1b205283", | |
"20d713f72dd447aba1d241c387ea1ab5", | |
"2e0d0bcb434449d4ba15435bf7050b75", | |
"79b06573123f4e54972159e8ffc35e67", | |
"79fe321c363e42cfbe4fb45356c00b6a", | |
"1c942c9a4cff4661b5a140c2f90177c7", | |
"cf6ad2d8c41a418282fab2d1c17b8cf8", | |
"081df973c8974c4482d35c72b4e5e347", | |
"82adef6c27c549d9b73c4dec5ce6ba65", | |
"e02084a99a7748298cf28fd9ef12b5a8", | |
"86b11f37fd6048fcb0fe86c0a98a7956", | |
"3621b3d1bf6443aab394349eaceae38e", | |
"cf573d8529194f03966a63927cf9dfe4", | |
"c2f7d713f4cd49acbaa409f10cce46f0", | |
"0754935ee63f4a618539e6e5ad679a0a", | |
"027477716aa441fea90f8ab31d8e197c", | |
"32667f86b44249279aa3a06723517f5b", | |
"bff17abe0c1841e580eff17fffe25358", | |
"394753ef344247a58f590e31326e2866", | |
"1026dfec97dc465d94ff5bb036809ec3", | |
"9296bd02ef93429387eb2511744490d3", | |
"f7b923ddfd364deeb9c58243b5285521", | |
"2f0de27be0204777bb4b27d3fcd4acd0", | |
"7cde9644470b428f8c2fb710631c899b", | |
"a389245ba3c849558d96b4d31269bba1", | |
"64f0f17f3c544c5bab34daabd9006f8d", | |
"cec8c7792eec4454ae542a33a23f6af0", | |
"87391b3095fa4e298bc2176a8bb39c55", | |
"a3e940216d6d411d8165eeefb2d187b9", | |
"32d181abfa074f5799ba4485e154a49d", | |
"b1bea3899dbb4a8687dd687e8ff00fb1", | |
"5729bd2ab6134ba793de888e52045cb1", | |
"84ecfdf4ddb04f3082eafc371e88a484", | |
"0dcbf75718cf4f3c9b7b370b86b795a6", | |
"bf70551cf8d04ea6bb5ef51b95d73da9", | |
"716b4152fbf64a1b84677f582f09184e", | |
"c72ae6ca33604f84934a3d49829deeee", | |
"bc737b53740b4c3f915a80350677dfb1", | |
"6dae50ec2ce4435f98628beee1df59ee", | |
"d1555ea83a6a45ed9969bde7ab2c751d", | |
"650f67936b124f5b9ad1835dbd6f9910", | |
"0a299b2d8fa84b3cb5d4832131d5b602", | |
"a3c9a05a4edb46dca847729fa4280b8a", | |
"e9a34c02d1d74c488ba8785400525556", | |
"51684010ae8f4acf8a0cd23a7be16589", | |
"dbc2ca823c784305a1b6ec90dcce0d84", | |
"00a3792c0bab429db485bcde05bbe19d", | |
"a473a23269ca4efa9398b608f50dd28d", | |
"c5dbf64667fe419799bf6d881c615940", | |
"b8522725140444a88a7fd6d62bfaad04", | |
"348f0517528a4a3a9f1eca93c197340a", | |
"97089d6327e84677b5e52fa6042cf3f9", | |
"9cb8a27eeef945fe9e7e6809a603ddff", | |
"b10238c1257840d7abc539ee7a9cfc25", | |
"7161c663967447739096a37c392e7d41", | |
"a46272bd0865454d9ed83e4880b648d2", | |
"43a3e72b93574ed78662893d76b79ba0", | |
"fe4c22202d4d495faf564565eeb1b3cb", | |
"92d048d84bc348e08e8d9aa0d7e19c13", | |
"d3f203aa6e8141c48eb69f5b6db06f92", | |
"c34fa8314ebe4408a0046fa218185da8", | |
"c9d9a56c362c4595bd5b764f5a15eac1", | |
"ffddfc7987f4480fae94f3e7e0b97d14", | |
"cb6283e6f97c4844b2c6d9a9ca22293a", | |
"d519ef3d6b8c4399a442cfbd9fce9d94", | |
"27736334f5f7472498760c0893b1dccb", | |
"bfb8178be46f44ba97590c9a85c0b45d", | |
"3e4af8687fed492ea6fcd07d4259a79a", | |
"39c8ec410bee46d7ab23a32a20a60676", | |
"4a419e01cf5340edafa74008a3df0038", | |
"b49bfac269ed40c789d1fee591e063a6", | |
"d745742824f74b4998ac064f2763e529", | |
"a98ae438d16540c0bca93cc42563b2d0", | |
"acad6b347aac43048cc25bf677c6c935", | |
"76b55ea52349450d927cf8f3744bc49e", | |
"65596b1519554da797ed7fd64d216675", | |
"a1061adfbe5e486eb50243032f396fb0", | |
"4a6b63e310cb441d8683c9f6647a2196", | |
"163cd4b05dc34909b25df83712585f9b", | |
"eb08cae3342c48cf9f0d451c31f6f726", | |
"01cd059ee7384f3aa1bc822356b9dbfc", | |
"0ee12588ba494c73ac67b74e8a011a9c", | |
"df6758af83054a0ebc3c960d098f901e", | |
"0557ab0f0cd4423bb92f09c64a093662", | |
"e965200c16c54e4db13d74e2fbf20091", | |
"ac7f9b591ea04ce6bf5c69c794e4cb21", | |
"4e2718a9b8d1483580ac1efe288b5f1b", | |
"ec9695e8c84f47a98f636a82685ba075", | |
"145962e690554ef691d725e58b6fee2e", | |
"160d9d5a5d674d4da65bffb5741ba31b", | |
"10b25a1644ce4ca5baab59eb751101bf", | |
"355e73ac11b94dea889825d3e1d0d358", | |
"2964cb97dcd84be4af4a393981e37308", | |
"cfa084967e744e48a76ae191519edf66", | |
"707b5ced322f410f92e339cf172fed21", | |
"bd858c0dca0b479bbed2bb8beb3aceef", | |
"b213b4683948420193b9af7477ef3844", | |
"1f043e1117d34c56a06e61dfb2741ba6", | |
"dea729e7d6c94d808a4428bcc0b0331b", | |
"160852ddc73445aa9de9adafe9a4c82f", | |
"850bce75dd394326a83b6c358b6f98b6", | |
"a2e0849fad4f4ca2b77c4af678116b3c", | |
"01eb65642e66464cb831a030da667834", | |
"7f3c69042123414cbf442d5d549174b7", | |
"4a4555d154cb45749a8686a247dedcd6", | |
"6e1ca77f73334969995b25a701c2ef4f", | |
"8232983ad1ce45d596c0f26a935db485", | |
"86d71683d20347e6b1d520e680a8f707", | |
"133ae25457614530bd157065d3453e62", | |
"e1af797f98f64ecabced19ff56a0dc66", | |
"fae6615dd6094e5ea40d1cbb8db99c84", | |
"c35cb0222f274dafbb669682a1c58228", | |
"a08af2fba9f74132a47a241012fcdb7b", | |
"23339716d7e349e2889f432cf908190b", | |
"f26290aaa83d4931be921f079ac1f2cb", | |
"3c1a45e9e56a4489854bb80b6d69adb3", | |
"c749d289d2a042e8934df44c6b5a178b", | |
"3458c4a468a54a1fa674d4a21fe38844", | |
"9463775115974d51b5bcd7153ab047c6", | |
"4e7e9231eaf647ddb82738ca9cacc5dd", | |
"976f83eb6694425f8a52060b7acfd243", | |
"6ecb34cc5efb45d28ebc7b04bacd881e", | |
"7da01d162a4a4872a951aa3e64f83048", | |
"916fd835324745caaea77305f65963ea" | |
] | |
}, | |
"id": "SE1dnqwNynQx", | |
"outputId": "81a2134b-03e7-4071-863f-0d7c5fe2e9f9" | |
}, | |
"execution_count": 30, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Html(layout=None, style_='display: none', tag='span')" | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "cf75672de6904ef7a8a8bd1eabda409e" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"Cannot show ipywidgets in text" | |
], | |
"text/html": [ | |
"Cannot show widget. You probably want to rerun the code cell above (<i>Click in the code cell, and press Shift+Enter <kbd>⇧</kbd>+<kbd>↩</kbd></i>)." | |
], | |
"application/vnd.jupyter.widget-view+json": { | |
"version_major": 2, | |
"version_minor": 0, | |
"model_id": "a55af2431f0a442491754cf5e0a01a96" | |
} | |
}, | |
"metadata": { | |
"application/vnd.jupyter.widget-view+json": { | |
"colab": { | |
"custom_widget_manager": { | |
"url": "https://ssl.gstatic.com/colaboratory-static/widgets/colab-cdn-widget-manager/2b70e893a8ba7c0f/manager.min.js" | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"messages.value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "eFwD5sdBPSQx", | |
"outputId": "c67ed484-ac66-4257-c262-34da95dfe046" | |
}, | |
"execution_count": 31, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[{'role': 'user', 'content': 'Hi!'},\n", | |
" {'role': 'assistant', 'content': ''},\n", | |
" {'role': 'assistant',\n", | |
" 'content': 'Hello!Hello! How can I help you today? 😊 How can I help you today? 😊'}]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 31 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "yrwKNOpcPaFB" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment